目前我正在使用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
我每次运行程序时都需要生成一个新的日志文件。如何做到这一点? 这个文件很完美。但我想稍作修改。
答案 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