我正在将 log4j 用于在集群环境中运行的 Web 应用程序。在少数情况下,某些进程(不是特定的)的日志记录会丢失。我无法指出原因。在单个服务器实例上运行时,它工作正常。我正在使用每日滚动文件附加程序。要添加/修改的任何其他属性?Async Appender 会有帮助吗?对此有任何解决方案吗?
编辑:以下是我打算使用的 log4j XML 和 AsyncAppender
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<appender name="appLog" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/logs/app.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="Threshold" value="DEBUG" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p (%F:%L) - %m%n" />
</layout>
</appender>
<appender name="async" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="256" />
<param name="LocationInfo" value="true"/>
<appender-ref ref="appLog" />
</appender>
<root>
<priority value="debug" />
<appender-ref ref="async" />
</root>
</log4j:configuration>