Python で定義されているすべてのロガーのリストを取得する方法はありますか?
つまり、オブジェクトlogging.getAllLoggers()
のリストを返すものが存在するのでしょうか?Logger
python.logging のドキュメントを検索しましたが、そのような方法は見つかりませんでした。
ベストアンサー1
ロガーはインスタンスによって階層的に保持されますlogging.Manager
。manager
ルート ロガーで、認識されているロガーを調べることができます。
import logging
loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]
を呼び出すとgetLogger(name)
、 によって保持されているプレースホルダー ロガーがloggerDict
リストに追加されたときに完全に初期化されることが保証されます。