DailyRollingFileAppender中的Log4j FileNamePattern

时间:2011-05-26 15:47:17

标签: java log4j apache-commons

有没有办法为原始文件名指定模式?

我基本上想要做以下事情:

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

我将如何做到这一点?

2 个答案:

答案 0 :(得分:1)

我有一个每日滚动日志,但是我使用来自log4j extras的TimeBasedRollingPolicy有点不同:

<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上基于this entry

答案 1 :(得分:0)

我不确定这会对你有所帮助:

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