2

次のコードを使用してログに記録しています

logging.basicConfig(filename=os.environ['USERPROFILE']+'\\myApp', level=logging.DEBUG, format='%(asctime)s - [Thread-%(thread)d] - [Process-%(process)d] - %(levelname)s - %(funcName)s - %(lineno)d - %(message)s')

このロギングでは、ロガー ファイルの FileSize 制限を実装できます。たとえば、ログ ファイルのサイズが 5MB を超える場合は、新しいファイルに書き込みます。

Java では、logback.xml で以下のようにファイル サイズを指定できます。

 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  <maxFileSize>10MB</maxFileSize>
 </triggeringPolicy>
4

1 に答える 1

2

を使用しRotatingFileHandlerます。これはキーワード パラメータmaxBytesを取ります。backupCountドキュメントから:

maxBytesとの値を使用backupCountして、ファイルを所定のサイズでロールオーバーできます。サイズを超えそうになると、ファイルが閉じられ、出力用に新しいファイルがサイレント モードで開かれます。現在のログ ファイルの maxBytes長さがほとんどなくなると、ロールオーバーが発生します。maxBytesゼロの場合、ロールオーバーは発生しません。がゼロでない場合 backupCount、システムはファイル名に拡張子 '.1'、'.2' などを追加して古いログ ファイルを保存します。たとえば、backupCount5 の基本ファイル名と app.log の場合、app.log、app.log.1、app.log.2 から app.log.5 までを取得します。書き込まれるファイルは常に app.log です。このファイルがいっぱいになると閉じられ、app.log.1 に名前が変更されます。ファイル app.log.1、app.log.2 などが存在する場合は、app.log.2、app.log.2 に名前が変更されます。それぞれlog.3など。

于 2013-10-01T08:28:58.283 に答える