]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.9] bpo-35821: Add an example to Logger.propagate documentation. (GH-29841) (GH...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 7 Dec 2021 11:45:49 +0000 (03:45 -0800)
committerGitHub <noreply@github.com>
Tue, 7 Dec 2021 11:45:49 +0000 (11:45 +0000)
Doc/library/logging.rst

index e72a898a11363df7d09e8b0088ad770d45e5e5f7..705b31d604500a4779d0c25de6c23c406a2f9218 100644 (file)
@@ -80,6 +80,15 @@ is the module's name in the Python package namespace.
       If this evaluates to false, logging messages are not passed to the handlers
       of ancestor loggers.
 
+      Spelling it out with an example: If the propagate attribute of the logger named
+      `A.B.C` evaluates to true, any event logged to `A.B.C` via a method call such as
+      `logging.getLogger('A.B.C').error(...)` will [subject to passing that logger's
+      level and filter settings] be passed in turn to any handlers attached to loggers
+      named `A.B`, `A` and the root logger, after first being passed to any handlers
+      attached to `A.B.C`. If any logger in the chain `A.B.C`, `A.B`, `A` has its
+      `propagate` attribute set to false, then that is the last logger whose handlers
+      are offered the event to handle, and propagation stops at that point.
+
       The constructor sets this attribute to ``True``.
 
       .. note:: If you attach a handler to a logger *and* one or more of its