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)
# ここでロガーの設定などを行う
コメント