2016-12-15 34 views
0

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でこれを実行しています。

答えて

1

これには既に優れた機能要求が存在する可能性があります。これはあなたの要件に合っていますか? https://issues.apache.org/jira/browse/LOG4J2-1101

もしそうなら、そのJIRAチケットにコメントしてください。パッチを投稿できれば(理想的には単体テストで)、すぐに解決される可能性があります。