Python でログを標準出力とログ ファイルに同時に書き込む
ログ出力の制御は、Python で重要な情報をデバッグおよびキャプチャするために不可欠です。ロギング モジュールは、メッセージをファイルに記録するための広範な機能を提供します。ただし、すぐに確認できるように、コンソール (stdout) にもログを表示すると有益です。
解決策:
すべてのログ メッセージが stdout に出力されるようにするには指定されたログ ファイルに加えて、logging.StreamHandler() をルート ロガーに追加することで、ロギング モジュールの機能を拡張できます。
実装:
<code class="python">import logging import sys # Capture stdout stdout = sys.stdout # Create a root logger root = logging.getLogger() # Set the logging level (DEBUG in this case) root.setLevel(logging.DEBUG) # Define the StreamHandler handler = logging.StreamHandler(stdout) # Configure the message format formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) # Add the StreamHandler to the root logger root.addHandler(handler)</code>
この変更により、logger.warning、logger.critical、logger.error などのメソッドを使用して記録されたすべてのメッセージは、構成されたログ ファイルの両方に書き込まれ、stdout に直接表示されます。これにより、トラブルシューティングが簡素化され、メッセージに簡単にアクセスしてすぐに検査できるようになります。
以上がPython で Stdout とログ ファイルに同時にログを記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。