this私はPythonの初心者ですから、一見似たような問題に答えました。私はこの解決策を自分のコードに実装する方法がわかりません。すべて)。私のコードでコンソールのPythonでログメッセージが2回表示される
私は次のセクションがあります。
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
filename='C:\\Tests\\TRACE.log',
filemode='a')
console = logging.StreamHandler()
console.setLevel(logging.INFO)
consoleFormatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(consoleFormatter)
logging.getLogger('').addHandler(console)
localLog = logging.getLogger('text')
面白いことは、それが正常に動作するために使用されるが、いくつかの瞬間に、それはコンソールにこれらの重複メッセージを書き始めていることです。
私はここで方向を教えてくれますか?
とあなたの答えに感謝しかし、どのように私はすべての 'コメントアウトすることができますloggingBasicConfig'?これには、パス、フォーマット、ファイルモードなどの必須設定が含まれています。 –
質問を読むと、コンソールにログメッセージが重複して表示され、ファイルのログ記録に問題がないように見えます。私の疑問は、basicConfigがコンソールログハンドラを設定していて、次に第2のコンソールログハンドラを設定しているということです。ロギング設定を設定ファイルに移動することを強くお勧めします。ここでは、特定の設定をより明確にすることができます。 – robjohncox
ファイルやコンソール、その他の宛先へのロギングは必須ではないことを指摘しておく価値があります。ロギングは、メッセージを表示または保存する便利な場所にメッセージを転送する単なる方法です。それらを送信します(ファイルとコンソールは非常に一般的な2つのオプションです)。ロギングがどのように機能するかについての堅実な紹介を得るために、pythonのドキュメントにある[高度なロギングチュートリアル](http://docs.python.org/2/howto/logging.html#advanced-logging-tutorial)の作業を強くお勧めします。 – robjohncox