日志文件名以包含log4j中的当前日期

时间:2012-01-10 05:06:33

标签: java log4j

问题是this的一个子集。 我希望每天使用日志文件名格式创建一个日志文件,如下所示:  downloadmanageryyyy-MM-dd.log
使用DailyRollingAppender但根本不创建日志文件。

我的lo4j.xml看起来像这样:

 <?xml version="1.0" encoding="UTF-8" ?>
                         <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
   <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
   <appender name="InfoLogFile" class="org.apache.log4j.DailyRollingFileAppender">
       <param name="File" value="downloadmanager.log"/>
       <param name="DatePattern" value=".yyyy-MM-dd" />
       <layout class="org.apache.log4j.PatternLayout"> 
       <param name="ConversionPattern" 
      value="%d{yyyy-MMM-dd HH:mm:ss,SSS} [%t] %c %x%n  %-5p %m%n"/>
      </layout>
   </appender>  
  </log4j:configuration>

1 个答案:

答案 0 :(得分:6)

带有log4j的DailyRollingFileAppender附件将不会重命名日志文件,直到午夜后的某个时间记录第一条消息。

您可以尝试使用DatedFileAppender,可以从here下载。与DailyRollingFileAppender相反,它将创建日志文件,其文件名始终包含今天的日期。