Log4j FileNamePattern в DailyRollingFileAppender - PullRequest
1 голос
/ 26 мая 2011

Есть ли способ указать шаблон для оригинального имени файла?

По сути, я хочу сделать следующее:

<param name="file" value="%d{yyyy/MM/dd HH:mm:ss}: %m%n_testlog.log"/>

Как бы я поступил так?

Ответы [ 2 ]

1 голос
/ 26 мая 2011

У меня есть ежедневный скользящий журнал, но я делаю это немного иначе, используя TimeBasedRollingPolicy из log4j extras :

<log4j:configuration debug="true">
  <appender name="roll" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="append" value="true" />
    <param name="encoding" value="UTF-8" />
    <!-- The active file to log to -->
    <param name="file" value="/location/to/log/current.log />
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
      <param name="FileNamePattern" 
             value="/location/to/log/archive/oldLog-%d{yyyy-MM-dd}.log" />
    </rollingPolicy>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{DATE} %5p %c{2} - %m%n" />
    </layout>
  </appender>
  <logger name="mypackage">
    <level value="debug" />
    <appender-ref ref="roll" />
  </logger>
</log4j:configuration>

Выше приведено в моем коде, который я основал на этой записи в log4j Wiki.

Пол

0 голосов
/ 26 мая 2011

Я не уверен, что это поможет вам:

<param name="File" value="Info"/> 
<param name="DatePattern" value="yyyy-MM-dd-HH-mm-ss'_testlog.log'"/>
...