log4j2で作成したログファイルに、現在のアクティブファイルを含め、ファイル名に日付パターンを付けることができます。つまり、今日の日付が2016-12-15の場合、現在のログファイルをlager-2016-12-15.logにします。日付が変わると、lager-2016-12-16.logという名前の新しいファイルを作成します。Log4j2 daily log files
RollingFileAppender
現在アクティブなログファイルにファイル名に日付パターンを付けることができません。私のLog4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Properties>
<Property name="layoutPattern">%d{ISO8601} [%t] %-5p [%X{REQUEST_ID}] [%X{CLIENT_ID}] [%X{USER_ID}] %c- %m%n</Property>
<Property name="logDir">${sys:catalina.home}/logs/</Property>
<Property name="fileName">${logDir}lager-${date:yyyy-MM-dd-HHmm}.log</Property>
<Property name="filePattern">${logDir}lager-%d{yyyy-MM-dd-HHmm}.log</Property>
</Properties>
<Appenders>
<RollingFile name="LAGER" append="true"
fileName="${fileName}"
filePattern="${filePattern}">
<PatternLayout pattern="${layoutPattern}" charset="UTF-8"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
</RollingFile>
</Appenders>
<loggers>
<Logger name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost]" level="WARN" additivity="false">
<AppenderRef ref="LAGER" />
<AppenderRef ref="CONSOLE"/>
</Logger>
<Root level="INFO">
<AppenderRef ref="LAGER"/>
<AppenderRef ref="CONSOLE"/>
</Root>
</loggers>
</Configuration>
この設定では、ロールオーバー時のコピーがうまくいきません。 fileNameプロパティから日付パターンを削除するとこれが修正されますが、現在のファイルには名前に日付が含まれていません。
私はtomee 7.0.1でこれを実行しています。