Log4j dailyrollingfileappender文件问题

我们遇到一个特殊的问题。场景:我们有3台服务器,这些服务器具有组件的多个实例,都将事务日志写入单个日志文件中。我们使用log4j,并且这些服务器以Java

1.3运行。setAppend()传递为true,实现为DailyRollingFileAppender

问题:午夜时分,我们希望当前的日志文件以新文件名翻转并开始写入新文件。在我们的测试设置(单个服务器写入日志)中,此方法运行良好。在生产中,在午夜时分会创建新文件,在该文件中将写入新日志,但将删除翻转文件

几天之内,我们将为您提供任何帮助,我们将不胜感激。

回答:

从许多进程登录到同一文件。Log4j是线程安全的,但是,如果我可以这样说,它不是进程安全的。它不能用作不同Java进程之间的共享库。嵌入在一个Java应用程序中的Log4j不了解其他任何Java应用程序。

使用翻转会导致您刚刚发现的问题:所有进程都运行自己的翻转代码,盲目地覆盖以前的内容(因为它们都不希望有任何内容)。

此处可能的解决方案:Log4j记录到共享日志文件

以上是 Log4j dailyrollingfileappender文件问题 的全部内容, 来源链接: utcz.com/qa/416133.html

回到顶部