4.5.1 サイズによるローテーション
ファイル出力したログが設定したサイズに達したときにファイルを切り替えます。
設定できる属性等は以下のとおりです。
属性 | 説明 |
---|---|
name | 定義名を定義する。 (logger要素のappender-ref要素のref属性から参照される) |
class | ch.qos.logback.core.rolling.RollingFileAppender |
file | ファイルパス、ファイル名 |
rollingPolicy | ローテーションの方法を設定します。 サイズの場合はclassとして ch.qos.logback.core.rolling.SizeBasedTriggeringPolicyを指定します。 |
FileNamePattern | ローテーションするファイルの命名規則を設定します。 |
MinIndex | ローテーションしたファイルの最小の添字 |
MaxIndex | ローテーションしたファイルの最大の添字 |
MaxFileSize | 最大サイズ(単位:無指定(Byte),KB,MB,GB デフォルト値:10MB) |
Pattern | 出力する書式を設定します。 |
charset | ログ出力時の文字エンコードを設定します。 Javaのエンコーディング名が使用できます。 デフォルトは実行環境のデフォルトエンコーディングです。 |
下記の場合、ログファイルはbspdf1.log、bspdf2.log、bspdf3.logの名前で順次作成されます。
また、ログファイルが切り替わるトリガーは、サイズ(5MB)になります。
【記述例】:
<appender name="PDFLIB_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.dir}/bspdf.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <FileNamePattern>${log.dir}/bspdf%i.log</FileNamePattern> <MinIndex>1</MinIndex> <MaxIndex>3</MaxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>5MB</MaxFileSize> </triggeringPolicy> <encoder> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %level %logger - %msg%n%ex{full}</Pattern> <charset>MS932</charset> </encoder> </appender>