我的程序每天都会把一些运行信息写到日志文件去,但是这些信息没有保存的意义,所以我想每天都清空。
我本来是想着用一个FileAppender,然后每天在一个指定时间把那个日志文件删掉,让程序自己再创建一个,但是发现配置log4j之后,文件删不了。各位有什么好方法?谢谢。
我本来是想着用一个FileAppender,然后每天在一个指定时间把那个日志文件删掉,让程序自己再创建一个,但是发现配置log4j之后,文件删不了。各位有什么好方法?谢谢。
log4j.appender.dailyFileLog=org.apache.log4j.DailyRollingFileAppender
你的要求似乎不需要这样,可能设置一个日志文件最大容量对你更加合适。
我的程序并不是需要每天都产生一个日志文件,把昨天的日志备份起来,所以我想用DailyRollingFileAppender不太适合。设置一个最大容量也不必吧?我也不是想超过某个容量了就新建一个日志文件,把旧的日志备份起来。我的要求并不需要备份日志,而是每天都把日志写到同一个文件去,但是这个文件每天都会清空(例如,我的程序每天凌晨启动,启动时把日志文件清空,再把新的日志信息写到这个日志文件去,这样我白天上班就可以看到程序的运行情况)
log4j.appender.dailyFileLog=org.apache.log4j.DailyRollingFileAppender
建立每天的日志。然后每天定时的时候,删除原有的日志,这样就可以删除。
当天日志的文件名为system.log。
而旧的日志文件名会在后面加上日期,例如:system.log.2006-04-21
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=./logs/system.log
log4j.appender.A2.DatePattern=.yyyy-MM-dd
log4j.appender.A2.Append=true
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
这个没用过,似乎就是你要的效果。