ログ モジュールを使用して 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 サイトの他の関連記事を参照してください。