Pythonのlogging
モジュールは、アプリケーションの動作を記録するための強力なツールです。その中でも、FileHandler
クラスは特に重要で、これを使うとログ出力をディスクファイルに送ることができます。
FileHandlerの基本
FileHandler
クラスは、logging
パッケージのコア部分に位置づけられています。このクラスを使うと、ログ出力をディスクファイルに送ることができます。具体的には、以下のように使用します。
import logging
# ロガーの作成
logger = logging.getLogger()
logger.setLevel(logging.INFO)
# FileHandlerの作成
handler = logging.FileHandler("log.txt")
logger.addHandler(handler)
# ログの出力
logger.info("This is a log message.")
このコードでは、まずgetLogger
関数を使ってロガーを作成しています。次に、FileHandler
を作成し、それをロガーに追加しています。最後に、info
メソッドを使ってログメッセージを出力しています。
FileHandlerの詳細
FileHandler
クラスは、StreamHandler
クラスから出力機能を継承しています。そのため、StreamHandler
が持つメソッドをFileHandler
でも使用することができます。
FileHandler
のコンストラクタは、以下のように定義されています。
class logging.FileHandler(filename, mode='a', encoding=None, delay=False, errors=None)
ここで、filename
はログを書き込むファイルの名前、mode
はファイルを開くモード(デフォルトは追記モードの’a’)、encoding
はファイルを開く際のエンコーディング、delay
はファイルのオープンを最初のemit
呼び出しまで遅延するかどうか、errors
はエンコーディングエラーの処理方法を指定します。
まとめ
Pythonのlogging
モジュールとそのFileHandler
クラスは、アプリケーションの動作を記録し、問題の診断を容易にするための強力なツールです。適切に使用すれば、アプリケーションの開発とデバッグを大いに助けることができます。