14.5.5.3 RotatingFileHandler

RotatingFileHandler クラスは、logging.handlers モジュー ルの中にありますが、ディスク上のログファイルに対するローテーション処理 をサポートします。

クラス RotatingFileHandler( filename[, mode[, maxBytes[, backupCount]]])
RotatingFileHandler クラスの新たなインスタンスを返します。 指定されたファイルが開かれ、ログ記録のためのストリームとして 使われます。mode が指定されなかった場合、 "a" が使われます。デフォルトでは、ファイルは無制限に大きくなりつづけます。

あらかじめ決められたサイズでファイルをロールオーバ (rollover) させられるように、maxBytes および backupCount 値を 指定することができます。指定サイズを超えそうになると、ファイルは 閉じられ、暗黙のうちに新たなファイルが開かれます。ロールオーバは 現在のログファイルの長さが maxBytes に近くなると常に起きます。 backupCount が非ゼロの場合、システムは古いログファイルを ファイル名に ".1", ".2" といった拡張子を追加して保存します。 例えば、backupCount が 5 で、基本のファイル名が app.log なら、 app.logapp.log.1app.log.2、 ... と続き、 app.log.5 までを得ることになります。ログの書き込み対象になる ファイルは常に app.log です。このファイルが満杯になると、 ファイルは閉じられ、app.log.1 に名称変更されます。 app.log.1app.log.2 などが存在する場合、それらの ファイルはそれぞれapp.log.2app.log.3 といった具合に 名前変更されます。

doRollover( )
上述のような方法でロールオーバを行います。

emit( record)
上述のようなロールオーバを行いながら、 レコードをファイルに出力します。

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