filename.1、filename.2 ... の代わりに sysdate を名前に追加して、log4j からバックアップ ファイルに名前を付けたい
どうすればいいですか?
これを行うには、Log4J「extras」JAR(Apacheが提供)を使用し、そこにあるものを使用する必要があります(パラメーターRollingFileAppender
を参照):http: //logging.apache.org/log4j/companions/extras/apidocs/index .htmlFileNamePattern
例(そこのJavadocから取得):
<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/>
</rollingPolicy>
</appender>
毎分または毎時など、特定の頻度でファイルをバックアップする必要がある場合は、DailyRollingFileAppender
クラスが目的に適しています。
ただし、特定のサイズに達した後にファイルをアーカイブする必要がある場合は、RollingFileAppender
クラスを拡張することをお勧めします。rollover()
以下のような方法でメソッドをオーバーライドする必要があります。
public void rollOver() {
...
file = new File(fileName + '.' + System.currentTimeMillis());
...
}