多个 java 进程如何共享一个滚动日志文件
How can multiple java processes share a single rolling log file
我有一个 java CLI 程序,它使用带有 log4j2 的 SLF4J 和一个用于日志记录的滚动文件附加程序。当多个进程 运行 时,文件翻转时似乎会出现问题。文件无法移动 and/or 已删除,错误打印到标准输出。是否有一些技巧可以将单个日志文件用于多个进程?我们需要为每个进程使用一个文件吗?我刚刚意识到这是我第一次尝试这样做,因为我们过去使用过守护进程。
根据 https://issues.apache.org/jira/browse/LOG4J2-174,这是 RollingFileAppender 的一个已知限制。 FileAppender 没有这个问题。我们的解决方案是使用 FileAppender 为每个进程设置一个 UUID 和一个日志文件。
我有一个 java CLI 程序,它使用带有 log4j2 的 SLF4J 和一个用于日志记录的滚动文件附加程序。当多个进程 运行 时,文件翻转时似乎会出现问题。文件无法移动 and/or 已删除,错误打印到标准输出。是否有一些技巧可以将单个日志文件用于多个进程?我们需要为每个进程使用一个文件吗?我刚刚意识到这是我第一次尝试这样做,因为我们过去使用过守护进程。
根据 https://issues.apache.org/jira/browse/LOG4J2-174,这是 RollingFileAppender 的一个已知限制。 FileAppender 没有这个问题。我们的解决方案是使用 FileAppender 为每个进程设置一个 UUID 和一个日志文件。