「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python ログ モジュールを使用してファイルと標準出力の両方にログを記録するにはどうすればよいですか?

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

2024 年 11 月 1 日に公開
ブラウズ:593

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

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

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

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

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

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)

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

リリースステートメント この記事は、侵害がある場合は1729249097に再現されています。勉強[email protected]に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3