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

Python ログ モジュールを使用してファイルと標準出力の両方にログを記録するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-18 18:58:29365ブラウズ

How to Log to Both File and Stdout using the Python Logging Module?

ログ モジュールを使用して Python でファイルと標準出力の両方にログを記録する

Python ログ モジュールを利用する場合、ログ メッセージを出力することが望ましい指定したログ ファイルだけでなく、すぐに確認できるように stdout にも保存されます。これを実現するために、ロギング モジュールは簡単なソリューションを提供します。

ロギング設定はハンドラーに依存して出力を指示します。 logging.StreamHandler() インスタンスをルート ロガーに追加すると、メッセージを目的の宛先に加えて stdout に送信できるようになります。

stdout 出力用のストリーム ハンドラーの構成例:

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

# Get the root logger
root = logging.getLogger()

# Set the root logger level to DEBUG
root.setLevel(logging.DEBUG)

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

# Create a formatter to format the log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

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

この構成を実装すると、ロガー メソッドと stdout print ステートメントの両方を使用してログ メッセージを複製する必要がなくなります。 mylogger.critical("something failed") などのロガーは、指定されたログ ファイルと標準出力の両方に出力するため、適切なロギング方法を維持しながら即座に可視性を提供します。

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

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