DailyRollingFileAppender,失去前一天的数据

时间:2011-10-24 18:51:37

标签: java log4j

第1天计划开始并全天工作。日志按预期编写

第2天过去的午夜,这一天的第一次活动发生了(cron in 我的情况)记录了活动,第1天的所有数据都丢失了。 此活动记录为第1天活动

log4j.rootLogger=DEBUG, R

log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = ../log/ooo.log
log4j.appender.R.Append = true
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n

示例:

ooo.log.2011-10-20我希望找到10-20的活动 相反,我看到10-21的前几秒

我期待行为,由specification

定义
  

'。'yyyy-MM-dd每天午夜过夜。午夜,三月   2002年8月,/ foo / bar.log将被复制到/foo/bar.log.2002-03-08。   记录3月9日将输出到/foo/bar.log,直到   它会在第二天滚动。

此外,请查看时间戳。当我的cron被调用时,它似乎是随机的,与分钟标记一致。无论它做什么,appender的行为都与其描述不一致。

enter image description here

这里发生了什么?请帮助我理解和纠正。

1 个答案:

答案 0 :(得分:0)

这也可能是程序记录到同一文件的多个实例的症状;查看更多here以及其他答案。

  

此外,请查看时间戳。当我的cron被调用时,它似乎是随机的,与分钟标记一致。无论它做什么,appender的行为都与其描述不一致。

真。翻转不会“按小时”发生,而是在翻转时间标记之后的第一个记录语句(因此是文件时间戳)。如果需要重命名翻转部分的文件的名称可以免费使用,则不检查