日志文件名以在log4j中包括当前日期


问题内容

这个问题的一个子集此。我希望每天使用以下日志文​​件名格式创建一个日志文件:
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>

问题答案:

DailyRollingFileAppender直到午夜后的某个时间记录了第一条消息后,使用log4j附带的发货才重命名日志文件。

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