log4j2 自動削除ログの設定方法

RollingFileAppenderとTimeBasedTriggeringPolicyを使用すると、ログ4j2を自動で削除するように設定できます。サンプル構成を以下に示します。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <RollingFile name="RollingFile" fileName="logs/application.log"
                 filePattern="logs/application-%d{MM-dd-yyyy}.log">
      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
      </Policies>
    </RollingFile>
  </Appenders>
  <Loggers>
    <Root level="info">
      <AppenderRef ref="RollingFile"/>
    </Root>
  </Loggers>
</Configuration>

上記の構成は logs/application.log ファイルにログを書き込む RollingFileAppender を作成します。ファイル名は logs/application-%d{MM-dd-yyyy}.log の形式を使用し、新しいログ ファイルが毎日作成されます。

TimeBasedTriggeringPolicy interval=”1″ modulate=”true”は、ログファイルのローテーションポリシーを指定しています。間隔を表すintervalは1(日)に設定され、modulateはtrueに設定することでローテーション時に自動的にファイル名が変更され、日付が追加されます。

要件に応じ、ファイル名やローリングポリシーのパラメータを修正して、具体的なニーズを満たすことができます。

bannerAds