summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2021-12-07 11:45:49 (GMT)
committerGitHub <noreply@github.com>2021-12-07 11:45:49 (GMT)
commite688568cdfe758a2316ecaf0c8df868d5dde0d83 (patch)
tree60014137b235d09b7665c70da137f3bf75fdcd3c /Doc/library
parent2e360832d7ed2697d715e93cb9f859a52264d60b (diff)
downloadcpython-e688568cdfe758a2316ecaf0c8df868d5dde0d83.zip
cpython-e688568cdfe758a2316ecaf0c8df868d5dde0d83.tar.gz
cpython-e688568cdfe758a2316ecaf0c8df868d5dde0d83.tar.bz2
[3.9] bpo-35821: Add an example to Logger.propagate documentation. (GH-29841) (GH-29958)
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/logging.rst9
1 files changed, 9 insertions, 0 deletions
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index e72a898..705b31d 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -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