6.29.5.10 MemoryHandler

MemoryHandler では、ログ記録するレコードをメモリ上にバッファし、 定期的にその内容をターゲット (target) となるハンドラに フラッシュする機能をサポートしています。 フラッシュ処理はバッファが一杯になるか、ある深刻さかそれ以上のレベル をもったイベントが観測された際に行われます。

MemoryHandler はより一般的な抽象クラス、 BufferingHandler のサブクラスです。この抽象クラスでは、 ログ記録するレコードをメモリ上にバッファします。各レコードがバッファに 追加される毎に、shouldFlush() を呼び出してバッファをフラッシュ すべきかどうか調べます。フラッシュする必要がある場合、flush() が必要にして十分な処理を行うものと想定しています。

クラス BufferingHandler( capacity)
指定し許容量のバッファでハンドラを初期化します。

emit( record)
レコードをバッファに追加します。 shouldFlush() が真を 返す場合、バッファを処理するために flush() を呼び出します。

flush( )
このメソッドをオーバライドして、自作のフラッシュ動作を実装することが できます。このクラスのバージョンのメソッドでは、単にバッファの内容を 削除して空にします。

shouldFlush( record)
バッファが許容量に達している場合に真を返します。このメソッドは 自作のフラッシュ処理方針を実装するためにオーバライドすることが できます。

クラス MemoryHandler( capacity[, flushLevel [, target]])
MemoryHandler クラスの新たなインスタンスを返します。 インスタンスはサイズ capacity のバッファとともに初期化されます。 flushLevel が指定されていない場合、ERROR が使われます。 target が指定されていない場合、ハンドラが何らかの有意義な 処理を行う前に setTarget() でターゲットを指定する必要があります。

close( )
flush() を呼び出し、ターゲットを None に 設定してバッファを消去します。

flush( )
MemoryHandler の場合、フラッシュ処理は単に、バッファされた レコードをターゲットがあれば送信することを意味します。 違った動作を行いたい場合、オーバライドしてください。

setTarget( target)
ターゲットハンドラをこのハンドラに設定します。

shouldFlush( record)
バッファが満杯になっているか、 flushLevel またはそれ以上の レコードでないかを調べます。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。