多个 Java 进程如何共享一个滚动日志文件



我有一个java CLI程序,它使用SLF4J和log4j2和一个滚动文件追加器进行日志记录。当多个进程正在运行时,文件滚动更新时似乎出现问题。无法移动和/或删除文件,并且错误打印到标准输出。是否有一些技巧可以将单个日志文件与多个进程一起使用?我们是否需要为每个进程使用一个文件?我刚刚意识到这是我第一次尝试这样做,因为我们过去使用过守护进程。

根据

https://issues.apache.org/jira/browse/LOG4J2-174,这是RollingFileAppender的已知限制。文件追加器没有这个问题。我们的解决方案是使用文件追加器为每个进程提供一个 UUID,每个进程都有一个日志文件。

最新更新