This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Logging docs don't address the creation of multiple loggers when a hierarchy is provided
Type: enhancement Stage: resolved
Components: Documentation Versions: Python 3.9, Python 3.8, Python 3.7, Python 3.6
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, flipdazed, vinay.sajip
Priority: normal Keywords:

Created on 2020-02-03 12:29 by flipdazed, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg361287 - (view) Author: Alexander McFarlane (flipdazed) Date: 2020-02-03 12:29
If `logger_name` is a hierarchy format (e.g. `logger_name = 'parent.child'`) and the logger name `'parent'` has not been created, the function call `logging.getLogger(logger_name)` will create all loggers in the hierarchy (in this instance two loggers, `'parent'` and `'parent.child'` will be created)

This is not documented anywhere in the logging documentation. Suggest that this is detailed under `logging.getLogger`

More info...
msg361337 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2020-02-04 07:19
That's an internal detail. In fact loggers aren't created for all loggers in the hierarchy - PlaceHolder objects are created internally for hierarchy ancestors, and converted to loggers if needed. The printout from your linked Stack Overflow question shows this.

This is not documented because it's internal implementation detail. How the dotted-name hierarchy works is documented.
Date User Action Args
2022-04-11 14:59:26adminsetgithub: 83721
2020-02-19 19:56:30vinay.sajipsetstatus: open -> closed
resolution: not a bug
stage: resolved
2020-02-04 07:19:18vinay.sajipsetmessages: + msg361337
2020-02-03 15:44:29xtreaksetnosy: + vinay.sajip
2020-02-03 12:29:54flipdazedcreate