定期的にlog4jのログファイルを削除する設定方法

RollingFileAppender の MaxBackupIndex プロパティと MaxFileSize プロパティを設定することで、log4j ログを定期的に削除できます。

MaxBackupIndex属性は、保持されるバックアップファイルの数を決定します。たとえば、5に設定すると、最新の5つのバックアップファイルが保持されます。

MaxFileSize属性は、各ログファイルの最大のサイズを決定します。最大サイズに達すると、新しいログファイルが作成されます。サイズ単位は、属性値で「KB」、「MB」、または「GB」を使用できます。

サンプルlog4j.propertiesファイルの構成方法を示します。7 つのバックアップファイルを毎日保持し、各ログファイルの最大サイズは 10 MB に設定されます。

log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/path/to/log/file.log
log4j.appender.file.MaxBackupIndex=7
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

なお、上述設定はlog4j 1.x系のみ対応となります。もし、log4j 2.x系を利用している場合は、RollingFileAppender的参数ポリシーを利用することで同様の設定が可能です。以下に、log4j2.xmlファイルにおける7日間分のバックアップファイル保存、最大10MBのログファイルサイズ設定の例を示します。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" name="MyApp" packages="">
<Appenders>
<RollingFile name="file" fileName="/path/to/log/file.log"
filePattern="/path/to/log/file-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>

上記の構成で、filePattern属性はバックアップファイルの名前パターンを定義します。 %d{yyyy-MM-dd}はファイル名に現在の日付を挿入し、%iはバックアップファイルのインデックス番号を表します。

ご要望に合わせて適切な調整や設定を行ってください。

广告
広告は10秒後に閉じます。
bannerAds
bannerAds