0
私は次のスニペットで起こっている状況を再現しようとしています。ここでは、いくつかの情報を記録しようとする2つの異なるロガーがあります。 それぞれは、コンソールへのロギング情報を印刷するように構成されています。コードの問題は、メッセージの前にロガーの名前を印刷していないことです。ここで何が問題になったのですか?なぜロガーはthier自身の名前をログに記録されていませんか?
import logging
import sys
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.DEBUG)
logger1 = logging.getLogger("logger1")
logger1.setLevel(logging.DEBUG)
logger1.addHandler(ch)
logger2 = logging.getLogger("logger2")
logger2.setLevel(logging.DEBUG)
logger2.addHandler(ch)
logger1.debug('log statement')
logger2.debug('log statement')
私は取得しています出力は、私が期待してい何、
log statement
log statement
であるあなたは、あなたのStreamHandlerのにフォーマッタを追加することもでき
logger1: log statement
logger2: log statement
あなたは正しくロギングを設定していません。基本的な設定は 'logging.basicConfig()'関数の助けを借りて行うことができます:https://docs.python.org/3/library/logging.html#logging.basicConfig –
@KlausD。はい、OPはロギングが「正しく」設定されています。そうしないと、出力が全くなくなり、ハンドラを持たないロガーについてのメッセージが表示されます。 –