Pythonのlogging
モジュールは、アプリケーションとライブラリのための柔軟なイベントロギングシステムを実装する関数とクラスを定義しています。このモジュールが提供するAPIの主な利点は、すべてのPythonモジュールがロギングに参加できるため、アプリケーションのログには自分のメッセージとサードパーティモジュールからのメッセージが統合されることです。
logging
モジュールには、以下の基本クラスが定義されています:
– Loggers:アプリケーションコードが直接使用するインターフェースを公開します。
– Handlers:ロガーによって作成されたログレコードを適切な宛先に送信します。
– Filters:出力するログレコードを決定するためのより細かい設備を提供します。
– Formatters:最終出力でのログレコードのレイアウトを指定します。
ロガーは、以下の属性とメソッドを持っています:
– name:ロガーの名前で、getLogger()
に渡された値です。
– level:setLevel()
メソッドによって設定されたこのロガーのしきい値です。
– parent:このロガーの親ロガーです。
– propagate:この属性がtrueに評価される場合、このロガーにログされたイベントは、このロガーに添付された任意のハンドラに加えて、より高いレベル(祖先)のロガーに渡されます。
これらの属性は、フォーマッターで使用できます。例えば、'[ {asctime}] {levelname} [ {threadName}] [ {name}. {funcName}: {lineno}] {message}'
はそのようなフォーマッターの一つです。
以上がPythonのログレコード属性についての基本的な説明です。これらの知識を活用して、より効果的なロギングシステムを構築することができます。