ホームページ  >  記事  >  バックエンド開発  >  Python でログ ファイルと標準出力の両方にログ メッセージを出力するにはどうすればよいですか?

Python でログ ファイルと標準出力の両方にログ メッセージを出力するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-18 19:02:29649ブラウズ

How to Output Logging Messages to Both Log File and Stdout in Python?

Python ログによるメッセージの整合性の維持: ログ ファイルと標準出力の両方への出力

Python のログ モジュールを利用する場合、多くの場合、同時に出力することが望ましいです。メッセージをログ ファイルと標準出力の両方に記録します。これにより、重要なメッセージや警告メッセージをリアルタイムで可視化しながら、包括的なロギングが保証されます。

これを実現するには、ロギング メッセージの宛先を制御するハンドラーの機能を活用します。 logging.StreamHandler() をルート ロガーに追加すると、出力を stdout に簡単に送信できます。

次に例を示します。

<code class="python">import logging
import sys

# Configure the root logger with appropriate level
root = logging.getLogger()
root.setLevel(logging.DEBUG)

# Create a stream handler and set its level
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Add a formatter to enhance readability
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Attach the stream handler to the root logger
root.addHandler(handler)</code>

このコードをロギング設定に組み込むことで、すべてのログ メッセージ (エラー、警告、クリティカル) が指定したログ ファイルに書き込まれるだけでなく、標準出力にも表示されるようにすることができます。これにより、冗長な print ステートメントの必要性がなくなり、アプリケーションのログ記録アクティビティの包括的なビューが提供されます。

以上がPython でログ ファイルと標準出力の両方にログ メッセージを出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。