我最近遇到了一个问题,我的日志文件没有像我们在log4j配置中定义的那样滚动。我发现罪魁祸首是我有两个运行相同应用程序的Tomcat实例,它们都拥有相同的日志文件,所以没有人可以因为另一个而将其翻过来。
但是,我仍然想使用相同的日志文件。我使用两个实例进行负载平衡,每个实例都有一个日志文件会很烦人。
我有什么方法可以做到这一点?或者我注定要有多个日志文件?
答案 0 :(得分:1)
我不建议对多个应用程序使用相同的日志文件。因为,
但是,您可以通过使用logback中的“prudent”标志来实现此目的。
<appender name="FILE_PRUDENT" class="ch.qos.logback.core.FileAppender">
<file>logs/test.log</file>
<prudent>true</prudent>
</appender>
来自官方文档,
在谨慎模式下,FileAppender将安全地写入指定的文件, 即使存在运行的其他 FileAppender实例 不同的 JVM,可能在不同的主机上运行。默认 谨慎模式的值是假的。