web-dev-qa-db-ja.com

python.loggingモジュールを使用して既存のすべてのロガーのリストを取得する方法

pythonに定義されたすべてのロガーのリストを取得する方法はありますか?
つまり、logging.getAllLoggers()のように使用でき、Loggerオブジェクトのリストを返すものは存在しますか?

Python.loggingのドキュメントを検索しましたが、そのようなメソッドが見つかりませんでした。

前もって感謝します。

20
mistiru

ロガーは、logging.Managerインスタンスによって階層に保持されます。ルートロガーのmanagerに問い合わせて、それが知っているロガーを探すことができます。

import logging

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