每次使用Log4j运行Java程序时,如何新创建日志文件?

时间:2017-02-21 12:56:47

标签: java logging

目前我正在使用log4j进行日志记录。它正在完美地生成日志文件。但问题是:每当我运行程序时,生成的新日志都会附加到同一文件中已生成的日志中。 以下是我的 log4j属性文件:

  

log4j.rootCategory = INFO,LOGFILE

     

log4j.logger.org.apache.axis.enterprise =致命,LOGFILE

     

log4j.appender.LOGFILE = org.apache.log4j.DailyRollingFileAppender

     

log4j.appender.LOGFILE.File = applicationLogs.txt

     

log4j.appender.LOGFILE.Append = true

     

log4j.appender.LOGFILE.Threshold = DEBUG

     

log4j.appender.LOGFILE.DatePattern = \ u2018。\ u2019yyy-MM-dd

     

log4j.appender.LOGFILE.layout = org.apache.log4j.PatternLayout

     

log4j.appender.LOGFILE.layout.ConversionPattern =%d {yyyy-MM-dd   HH:mm:ss}%c {1} [%p]%m%n

我每次运行程序时都需要生成一个新的日志文件。如何做到这一点? 这个文件很完美。但我想稍作修改。

2 个答案:

答案 0 :(得分:2)

将追加设置为false,覆盖

log4j.appender.FILE.Append=false

本文可以帮助您。 https://www.tutorialspoint.com/log4j/log4j_logging_files.htm

此问题也可以帮到你。 One logfile per run with log4j

答案 1 :(得分:0)

在您的代码中添加如下内容:

String today= Calendar.getInstance()
    .getTime()
    .toString()
    .replaceAll(" ", "_")
    .replaceAll(":", "");  
System.setProperty("logfilename", today);

并在您的属性文件中:

log4j.appender.file.File=C:\\${logfilename}.log