Pythonのlogging
モジュールは、アプリケーションやライブラリの柔軟なイベントロギングシステムを実装するための関数とクラスを定義しています。この記事では、その中でもStreamHandler
とFileHandler
に焦点を当てて解説します。
StreamHandler
StreamHandler
クラスは、sys.stdout
、sys.stderr
、または任意のファイルライクオブジェクト(具体的には、write()
とflush()
メソッドをサポートする任意のオブジェクト)などのストリームにロギング出力を送信します。
主なメソッド
emit(record)
: フォーマッタが指定されている場合、それを使用してレコードをフォーマットします。その後、レコードはストリームに書き込まれ、その後に終端子が続きます。flush()
: ストリームをフラッシュ(クリア)します。setStream(stream)
: インスタンスのストリームを指定された値に設定します。
FileHandler
FileHandler
クラスは、ディスクファイルにロギング出力を送信します。出力機能はStreamHandler
から継承されています。
主なメソッド
close()
: ファイルを閉じます。emit(record)
: レコードをファイルに出力します。
これらのハンドラを適切に使用することで、Pythonのロギング機能を最大限に活用することができます。詳細な情報はPythonの公式ドキュメンテーションをご覧ください。