0

现在我正在为我的应用程序使用 log4j-1.2.9.jar,但不幸的是,当每 00:00 滚动日志文件时,我的日志内容正在被替换..

这是 log4j 属性:

log4j.logger.my.com.myapps=ALL,cy
log4j.appender.cy=org.apache.log4j.DailyRollingFileAppender
log4j.appender.cy.File=D:/CY/logs/cs.log
log4j.appender.cy.Append=true
log4j.appender.cy.layout=org.apache.log4j.PatternLayout
log4j.appender.cy.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %t %c{3} :: %m%n

昨天我的应用程序进程在晚上 8 点 ++ 左右启动,然后直到 00:00 它将滚动到一个新的日志文件并将以前的日志文件重命名为 cs.log-2013-07-25。

但是现在问题来了,我从 8 PM++ 到 11:59 PM++ 的日志内容不见了。它被覆盖了。日志内容在 cs.log-2013-07-25 中变为 12:00 AM - 12:40 AM。

然后在 12:40 AM 之后的其他最新的新日志内容写入 cs.log 中的新日志。

任何想法 ?或者我的配置错误..

4

2 回答 2

0

尝试使用 RollingFileAppender 代替 DailyRollingFileAppender。不要忘记添加属性 log4j.appender.cy.DatePattern='.'yyyy-MM-dd

于 2013-07-26T09:31:51.107 回答
0

RollingFileAppender 和 DailyRollingFileAppender 的基本区别在于,第一个基于最大日志文件大小工作,后一个基于日期和时间频率轮换。

在您的 log4j.xml 中添加这些新属性以支持 RollingFIleAppender

  <param name="datePattern" value="'_'dd-yyyy-MM'.log'" />
  <param name="maxBackupIndex" value="4" />
  <param name="append" value="true" />
  <param name="MaxFileSize" value="10KB" />

我建议通过这些链接。

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/RollingFileAppender.html

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html

谢谢

于 2013-07-29T20:17:49.640 回答