Java DailRollingFileAppender,丢失前一天的数据

Java DailRollingFileAppender,丢失前一天的数据,java,log4j,Java,Log4j,第1天计划开始并全天工作。日志按预期写入 第2天午夜过后,当天的第一个活动发生在 我的情况是,活动被记录下来,第一天的所有数据都丢失了。 此活动记录为第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.appen

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

第2天午夜过后,当天的第一个活动发生在 我的情况是,活动被记录下来,第一天的所有数据都丢失了。 此活动记录为第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的前几秒

我期望行为,正如

“yyyy-MM-dd”每天午夜滚动。在三月的午夜 2002年8月8日,/foo/bar.log将被复制到/foo/bar.log.2002-03-08。 3月9日的日志记录将输出到/foo/bar.log,直到 第二天就卷起来了

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


这是怎么回事?请帮助我理解和更正。

这也可能是一个程序的多个实例登录到同一文件的症状;请参阅其他答案中的更多信息

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


对。滚动不发生在小时,但在滚动时间标记之后的第一条记录语句会显示文件时间戳。并且不检查需要重命名的文件名是否可以自由使用。

这也可能是一个程序的多个实例记录到同一文件的症状;请参阅其他答案中的更多信息

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


对。滚动不发生在小时,但在滚动时间标记之后的第一条记录语句会显示文件时间戳。而且,不需要检查需要重命名已覆盖部分的文件名是否可以自由使用。

您的cron做什么?它是运行正在进行日志记录的Java程序,还是调用正在进行日志记录的Java webapp?@SingleShot。就在钱上。它调用一个包含自己的main的类。但是没有什么奇怪的事情发生,正常的日志我问的原因是我怀疑滚动可能只适用于持续运行的应用程序。至少,我会调查一下……如果在主调用时,新的JVM启动了。。。DailRollingFileAppender属于JVM的某个实例。。隐马尔可夫模型。。。但是在这种情况下,期望日志在小时内重置不是很合理吗?事实上,这种情况每天发生一次,而且从Javadoc可以观察到DailRollingFileAppender出现了同步问题和数据丢失。log4j extras companion包括备选方案。。。如果可能,您可能希望升级到LogBack,这是由创建Log4J的开发人员实现的一个更好的实现?它是运行正在进行日志记录的Java程序,还是调用正在进行日志记录的Java webapp?@SingleShot。就在钱上。它调用一个包含自己的main的类。但是没有什么奇怪的事情发生,正常的日志我问的原因是我怀疑滚动可能只适用于持续运行的应用程序。至少,我会调查一下……如果在主调用时,新的JVM启动了。。。DailRollingFileAppender属于JVM的某个实例。。隐马尔可夫模型。。。但是在这种情况下,期望日志在小时内重置不是很合理吗?事实上,这种情况每天发生一次,而且从Javadoc可以观察到DailRollingFileAppender出现了同步问题和数据丢失。log4j extras companion包括备选方案。。。如果可能的话,您可能希望升级到LogBack,这是创建Log4J的开发人员更好的实现。