4.5.2 時間によるローテーション
設定した時間を経過したときにログファイルを切り替えます。
設定できる属性等は以下のとおりです。
属性 | 説明 |
---|---|
Name | 定義名を定義する。 (logger要素のappender-ref要素のref属性から参照される) |
Class | ch.qos.logback.core.rolling.RollingFileAppender |
File | ファイルパス、ファイル名 |
rollingPolicy | ローテーションの方法を設定します。 時間の場合はclassとしてch.qos.logback.core.rolling.TimeBasedRollingPolicyを指定します。 |
FileNamePattern | ローテーションするタイミングを設定します。 下記の設定が可能です。 |
%d 日毎(夜中) %d{yyyy-MM}.log 月のはじめ %d{yyyy-ww}.log 週のはじめ %d{yyyy-MM-dd-a}.log 毎日正午と夜中 %d{yyyy-MM-dd_HH}.log 毎時 %d{yyyy-MM-dd_HH-mm}.log 毎分 |
|
Pattern | 出力する書式を設定します。 |
charset | ログ出力時の文字エンコードを設定します。 Javaのエンコーディング名が使用できます。 デフォルトは実行環境のデフォルトエンコーディングです。 |
以下は時間でローテーションを行う際の記述例です。
この例では分ごとに出力するファイルを切り替えます。
ログファイルは分ごとにbspdf2008-09-01-11_01.log、bspdf2008-09-01-11_02.log、bspdf2008-09-01-11_03.log・・・のように出力されていきます。
設定できる書式と出力されるファイル名の具体例は下記のようになっています。
記述例:
この例では分ごとに出力するファイルを切り替えます。
ログファイルは分ごとにbspdf2008-09-01-11_01.log、bspdf2008-09-01-11_02.log、bspdf2008-09-01-11_03.log・・・のように出力されていきます。
設定できる書式と出力されるファイル名の具体例は下記のようになっています。
記述例:
<appender name="PDFLIB_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.dir}/bspdf.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${log.dir}/bspdf%d{yyyy-MM-dd_HH-mm}.log</FileNamePattern> </rollingPolicy> <encoder> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %level %logger - %msg%n%ex{full}</Pattern> <charset>UTF-8</charset> </encoder> </appender>
書式 | 説明 |
---|---|
%d | 日付が変わると切り替わります。 bspdf2008-09-01.log、bspdf2008-09-02.log、bspdf2008-09-03.log・・・ のように出力されます。 |
%d{yyyy-MM}.log | 月のはじめに切り替わります。 bspdf2008-09.log、bspdf2008-10.log、bspdf2008-12.log・・・ のように出力されます。 |
%d{yyyy-ww}.log | 週のはじめに切り替わります。 bspdf2008-38.log、bspdf2008-39.log、bspdf2008-40.log・・・ のように出力されます。 |
%d{yyyy-MM-dd-a}.log | 毎日正午と夜中に切り替わります。 bspdf2008-09-01-AM.log、bspdf2008-09-01-PM.log、 bspdf2008-09-02-AM.log・・・ のように出力されます。 |
%d{yyyy-MM-dd_HH}.log | 時間ごとに切り替わります。 bspdf2008-09-01-11.log、bspdf2008-09-01-12.log、 bspdf2008-09-01-13.log・・・ のように出力されます。 |
%d{yyyy-MM-dd_HH-mm}.log | 分ごとに切り替わります。 bspdf2008-09-01-11_01.log、bspdf2008-09-01-11_02.log、 bspdf2008-09-01-11_03.log・・・ のように出力されます。 |
ファイル名の後ろにgzまたはzipを付与すると、出力されたファイルが自動的に圧縮されます。