How to list all existing loggers using python.logging module

Is there a way in Python to get a list of all defined loggers?

I mean, does something exist such as logging.getAllLoggers() which would return a list of Logger objects?

I searched the python.logging documentation but couldn't find such a method.

Thank you in advance.


Loggers are held in a hierarchy by a logging.Manager instance. You can interrogate the manager on the root logger for the loggers it knows about.

import logging

loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]

Calling getLogger(name) ensures that any placeholder loggers held by loggerDict are fully initialized when they are added to the list.


If you want to include RootLogger in the list as well, do something similar to:

import logging
loggers = [logging.getLogger()]  # get the root logger
loggers = loggers + [logging.getLogger(name) for name in logging.root.manager.loggerDict]

tested on Python 3.7.4