33
私が書いているpythonスクリプトでは、ログモジュールを使ってイベントをログに記録しようとしています。私はlogging.debug("Some string")
を実行しようとするとthis page in the docsがlogging.debug
はルートロガーの出力にメッセージを持っている必要があることを述べているにもかかわらず、私は、コンソールへの出力を取得していない、Pythonログに何も出力されない
ERROR_FORMAT = "%(levelname)s at %(asctime)s in %(funcName)s in %(filename) at line %(lineno)d: %(message)s"
DEBUG_FORMAT = "%(lineno)d in %(filename)s at %(asctime)s: %(message)s"
LOG_CONFIG = {'version':1,
'formatters':{'error':{'format':ERROR_FORMAT},
'debug':{'format':DEBUG_FORMAT}},
'handlers':{'console':{'class':'logging.StreamHandler',
'formatter':'debug',
'level':logging.DEBUG},
'file':{'class':'logging.FileHandler',
'filename':'/usr/local/logs/DatabaseUpdate.log',
'formatter':'error',
'level':logging.ERROR}},
'root':{'handlers':('console', 'file')}}
logging.config.dictConfig(LOG_CONFIG)
:私は私のロガーを設定するには、次のコードを持っています。私のプログラムが何も出力しないのはなぜですか、どうすれば修正できますか?
ドキュメントには、デフォルトレベルはNOTSETで、すべてを出力する0のレベルです...なぜこれは真実ではありませんか? – Ben
@Benそれはどこですか?私が見ることができるのは、「デフォルトレベルはWARNINGです。つまり、ログパッケージが別の方法で設定されていない限り、このレベル以上のイベントしか追跡されません」。 –
https://docs.python.org/3.6/library/logging.html#logging.Logger.setLevel – Ben