Python:指定した名前のロガーがあるか確認する

Python の logger モジュールでは、getLogger関数を使用してロガーを取得しますが、getLogger に未定義の名前を渡した場合、その名前のロガーが新しく作成されます。
新しいロガーを作成したときは設定を行いたいことがあったので、その際の判定方法です。

logging.Logger.manager.loggerDict に含まれているかどうかで、存在するロガーか確認できます。

import logging

logger_name = "kuma"

if logger_name in logging.Logger.manager.loggerDict:
    # 既存のロガーを取得
    logger = logging.getLogger(logger_name)
else:
    # 新たなロガーを取得
    logger = logging.getLogger(logger_name)
    # ここでロガーの設定などを行う
Docker Desktop for Windows/Macでつくるクリーンな開発環境構築入門(Python版) (Amazon)

コメント