多个JVMS写入Log4j2版本2.3中的同一日志文件

时间:2016-03-31 14:46:28

标签: java logging log4j log4j2

我们正在升级旧版应用程序以使用log4j2。因为应用程序服务器(Weblogic 10.3.6.0)不支持servlet 3.0,所以我们处于servlet 2.5的上限,可以和版本Log4j版本2.3一样高。

我们在应用程序服务器上运行了4个JVM。我们每个服务器有1个log4j2配置,因此所有4个JVM使用相同的配置。我们可以通过附加JVM名称来分隔日志文件。

我们想知道我们是否可以删除JVM名称,并让所有JVM写入同一个记录器?我们无法使用异步记录器,并认为可能存在同步文件锁定问题。

任何人都可以确认我们是否可以将所有4个JVMS的日志输出合并到1个文件中,或者最好将它们按照JVM分开。

谢谢

1 个答案:

答案 0 :(得分:3)

如果要让多个JVM写入同一文件,则必须使用文件锁定(在文件附加程序中使用locking =“true”)。但是,RollingFileAppender不支持文件锁定,因为无法安全地完成。文件锁定也会影响写入日志文件的性能。