如何配置Log4j2以停止TCP Socket Appender离线时的错误日志刷屏
解决Log4j2 TCP Socket Appender错误日志刷屏问题
针对接收端周期性离线的业务场景,通过以下配置调整可以彻底解决错误日志刷屏的问题:
核心配置调整
1. 开启异常忽略
给Socket Appender添加ignoreExceptions="true"属性,让Log4j2直接忽略Socket连接/写入失败的异常,不再将这些异常输出到控制台或其他日志目标。
2. 控制重连间隔
添加reconnectDelayMillis属性设置重连间隔,避免短时间内频繁重试导致的大量无效错误日志,比如设置为30秒(30000毫秒),可根据业务场景灵活调整。
修改后的完整配置示例
<Socket name="ROLLING_SOCKET" host="127.0.0.1" port="18585" ignoreExceptions="true" reconnectDelayMillis="30000"> <JsonLayout /> </Socket>
参数说明
ignoreExceptions:默认值为false,此时Appender会将异常传递给LoggerContext并输出错误日志;设为true后,Appender内部处理异常,不再向外抛出。reconnectDelayMillis:控制连接断开后多久尝试重新建立连接,合理设置可减少无效重试频率,进一步降低日志输出量。
内容的提问来源于stack exchange,提问作者Zur13
相关产品推荐
相关产品推荐

