MemoryHandler は、logging.handlers モ
ジュールの中にありますが、ログ記録するレコードをメモリ上にバッファし、
定期的にその内容をターゲット (target) となるハンドラに
フラッシュする機能をサポートしています。
フラッシュ処理はバッファが一杯になるか、ある深刻さかそれ以上のレベル
をもったイベントが観測された際に行われます。
MemoryHandler はより一般的な抽象クラス、
BufferingHandler のサブクラスです。この抽象クラスでは、
ログ記録するレコードをメモリ上にバッファします。各レコードがバッファに
追加される毎に、shouldFlush() を呼び出してバッファをフラッシュ
すべきかどうか調べます。フラッシュする必要がある場合、flush()
が必要にして十分な処理を行うものと想定しています。
クラス BufferingHandler( |
capacity) |
-
指定し許容量のバッファでハンドラを初期化します。
-
レコードをバッファに追加します。 shouldFlush() が真を
返す場合、バッファを処理するために flush() を呼び出します。
-
このメソッドをオーバライドして、自作のフラッシュ動作を実装することが
できます。このクラスのバージョンのメソッドでは、単にバッファの内容を
削除して空にします。
-
バッファが許容量に達している場合に真を返します。このメソッドは
自作のフラッシュ処理方針を実装するためにオーバライドすることが
できます。
クラス MemoryHandler( |
capacity[, flushLevel
[, target]]) |
-
MemoryHandler クラスの新たなインスタンスを返します。
インスタンスはサイズ capacity のバッファとともに初期化されます。
flushLevel が指定されていない場合、ERROR が使われます。
target が指定されていない場合、ハンドラが何らかの有意義な
処理を行う前に setTarget() でターゲットを指定する必要があります。
-
flush() を呼び出し、ターゲットを None に
設定してバッファを消去します。
-
MemoryHandler の場合、フラッシュ処理は単に、バッファされた
レコードをターゲットがあれば送信することを意味します。
違った動作を行いたい場合、オーバライドしてください。
-
ターゲットハンドラをこのハンドラに設定します。
-
バッファが満杯になっているか、 flushLevel またはそれ以上の
レコードでないかを調べます。
リリース 2.5 ,19th September, 2006 更新
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。