web-dev-qa-db-fra.com

Comment obtenir la liste de tous les enregistreurs existants à l'aide du module python.logging

Existe-t-il un moyen python d’obtenir la liste de tous les enregistreurs définis?
Je veux dire, est-ce que quelque chose qui peut être utilisé comme logging.getAllLoggers() et qui renverrait une liste d'objets Logger existe?

J'ai cherché dans la documentation de python.logging mais je n'ai pas trouvé une telle méthode.

Merci d'avance.

20
mistiru

Les enregistreurs sont maintenus dans une hiérarchie par un logging.Manager exemple. Vous pouvez interroger le manager sur l'enregistreur racine pour connaître les enregistreurs qu'il connaît.

import logging

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