log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A2.File=XXXXXXXX
log4j.appender.A2.DatePattern=′.′yyyy-MM-dd 
log4j.appender.A2.layout=org.apache.log4j.PatternLayout 
log4j.appender.A2.layout.ConversionPattern=[%-4p] [%d{yyyy-MM-dd HH:mm:ss}]----%c[%t]%n%m%
n
我想每一天都产生一个以"yyyy-mm-dd.log"命名日志文件,请问该怎么配置file选项,谢谢了!!!!

解决方案 »

  1.   

    http://www.matrix.org.cn/resource/article/1/1426.html一个Appender代表log信息要写向的一个地方。log4j可使用的Appender有很多类型,这里只考虑3种:ConsoleAppender,FileAppender,DailyRollFileAppender
    2.1 ConsoleAppender
    如果使用ConsoleAppender,那么log信息将写到Console。就是直接把信息打印到System.out上了。
    2.2 FileAppender
    使用FileAppender,那么log信息将写到指定的文件中。这应该是比较经常使用到的情况。
    相应地,在配置文件中应该指定log输出的文件名。如下配置指定了log文件名为demo.txt
    log4j.appender.A2.File=demo.txt
    注意将A2替换为具体配置中Appender的别名。
    2.3 DailyRollingAppender
    使用FileAppender可以将log信息输出到文件中,但是如果文件太大了读起来就不方便了。这时就可以使用DailyRollingAppender。DailyRollingAppender可以把Log信息输出到按照日期来区分的文件中。如下配置文件就会每天产生一个log文件,每个log文件只记录当天的log信息:log4j.appender.A2=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A2.file=demolog4j.appender.A2.DatePattern='.'yyyy-MM-ddlog4j.appender.A2.layout=org.apache.log4j.PatternLayoutlog4j.appender.A2.layout.ConversionPattern=%m%n
      

  2.   

    设置了DailyRollingAppender 以后如果配置项里面设置了文件的最大值,那么应该去掉,否则可能不能产生以天为单位的日志
      

  3.   

    没有办法...
    Log4j的org.apache.log4j.DailyRollingFileAppender源码223行
    scheduledFilename = fileName+sdf.format(new Date(file.lastModified()));也就是说备份的日至文件都是文件名后面加上你所配的DatePattern格式化后的字符串。除非你自己写个appender
      

  4.   

    log4j.appender.A2.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n