bpo-35821: Add an example to Logger.propagate documentation. (GH-29841)

This commit is contained in:
Vinay Sajip 2021-12-07 11:15:44 +00:00 committed by GitHub
parent a310fd83a0
commit 2bf551757e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View 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