Pythonの標準ライブラリには、アプリケーションやライブラリのための柔軟なエラーログ記録 (logging) システムを実装するための関数やクラスが含まれています。この記事では、そのロギングシステムを拡張する方法について説明します。
ロギングシステムの基本
Pythonのロギングシステムは、すべてのPythonモジュールがログ記録に参加できるように設計されています。これにより、あなたが書くアプリケーションのログにサードパーティーのモジュールが出力するメッセージを含めることができます。
ロギングシステムは、以下の基本的なクラスと関数を提供しています:
- ロガー: アプリケーションコードが直接使うインターフェースを公開します。
- ハンドラ: (ロガーによって生成された) ログ記録を適切な送信先に送ります。
- フィルタ: どのログ記録を出力するかを決定する、きめ細かい機能を提供します。
- フォーマッタ: ログ記録が最終的に出力されるレイアウトを指定します。
ロギングシステムの拡張
Pythonのロギングシステムは、既存のロガーの機能を拡張するためのカスタムハンドラを追加することで、高度に設定可能です。例えば、コードの実行中に発生した例外をメールで送信する機能を追加することができます。
まとめ
Pythonのロギングシステムは、アプリケーションやライブラリのための柔軟なエラーログ記録システムを提供しています。このシステムは、すべてのPythonモジュールがログ記録に参加できるように設計されており、既存のロガーの機能を拡張するためのカスタムハンドラを追加することで、さらに高度に設定可能です。これにより、あなたが書くアプリケーションのログにサードパーティーのモジュールが出力するメッセージを含めることができます。