14.5.5.10 MemoryHandler

MemoryHandler は、logging.handlers モ ジュールの中にありますが、ログ記録するレコードをメモリ上にバッファし、 定期的にその内容をターゲット (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 またはそれ以上の レコードでないかを調べます。

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