ハンドラは以下の属性とメソッドを持ちます。Handler
は直接インスタンス化されることはありません; このクラスは
より便利なサブクラスの基底クラスとして働きます。しかしながら、
サブクラスにおける __init__() メソッドでは、
Handler.__init__() を呼び出す必要があります。
-
レベルを設定して、Handler インスタンスを初期化します。
空のリストを使ってフィルタを設定し、I/O 機構へのアクセスを
直列化するために (createLock() を使って) ロックを生成します。
-
スレッド安全でない根底の I/O 機能に対するアクセスを直列化
するために用いられるスレッドロック (thread lock) を初期化します。
-
createLock() で生成されたスレッドロックを獲得します。
-
acquire() で獲得したスレッドロックを解放します。
-
このハンドラに対する閾値を lvl に設定します。
ログ記録しようとするメッセージで、lvl よりも深刻でないものは
無視されます。ハンドラが生成された際、レベルは NOTSET
(全てのメッセージが処理される) に設定されます。
-
このハンドラのフォーマッタを form に設定します。
-
指定されたフィルタ filt をこのハンドラに追加します。
-
指定されたフィルタ filt をこのハンドラから除去します。
-
このハンドラのフィルタをレコードに適用し、レコードが
フィルタを透過して処理されることになる場合には真を返します。
-
全てのログ出力がフラッシュされるようにします。このクラスの
バージョンではなにも行わず、サブクラスで実装するためのものです。
-
ハンドラで使われている全てのリソースを始末します。このクラスの
バージョンではなにも行わず、サブクラスで実装するためのものです。
-
ハンドラに追加されたフィルタの条件に応じて、指定されたログレコードを
発信します。このメソッドは I/O スレッドロックの獲得/開放を伴う実際の
ログ発信をラップします。
-
このメソッドは emit() の呼び出し中に例外に遭遇した際に
ハンドラから呼び出されます。デフォルトではこのメソッドは
何も行いません。すなわち、例外は暗黙のまま無視されます。
ほとんどのログ記録システムでは、これがほぼ望ましい機能です -
というのは、ほとんどのユーザはログ記録システム自体のエラーは
気にせず、むしろアプリケーションのエラーに興味があるからです。
しかしながら、望むならこのメソッドを自作のハンドラと置き換え
ることはできます。record には、例外発生時に処理
されていたレコードが入ります。
-
レコードに対する書式化を行います - フォーマッタ
が設定されていれば、それを使います。そうでない場合、
モジュールにデフォルト指定されたフォーマッタを使います。
-
指定されたログ記録レコードを実際にログ記録する際の全ての処理
を行います。このメソッドのこのクラスのバージョンはサブクラスで
実装するためのものなので、NotImplementedError
を送出します。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。