You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Log4j2配置DefaultMessageListenerContainer日志输出到自定义文件失效

配置失效原因

你的配置存在3处问题,导致规则未生效:

  • 类名拼写错误:配置中写的org.springframework.jms.listener.DeafultMessageListenerContainer存在拼写错误,正确类名是org.springframework.jms.listener.DefaultMessageListenerContainer,Default被错写为Deafult,Log4j2无法匹配到目标类的日志,规则完全不触发。
  • XML语法错误:<AppenderRef ref="customErrorFile">标签未闭合,不符合XML语法规范,Log4j2解析配置时会直接跳过这段无效内容。
  • 未关闭日志继承:Log4j2默认开启日志向上传递(additivity默认为true),就算配置命中,日志也会同步流转到Root Logger绑定的控制台Appender,导致控制台依然打印日志。
修正方案

将原有Logger配置替换为如下内容:

<Logger name="org.springframework.jms.listener.DefaultMessageListenerContainer" level="error" additivity="false">
    <AppenderRef ref="customErrorFile" />
</Logger>

配置说明:

  • 修正了类名拼写错误,保证Logger能精准匹配到DefaultMessageListenerContainer类的日志
  • 补全了AppenderRef标签的闭合标记,修复XML语法问题
  • 增加additivity="false"配置,关闭该Logger的日志向上传递逻辑,日志只会输出到指定的customErrorFileAppender,不会再打印到控制台

注意:请提前确认customErrorFile对应的Appender已经在Log4j2配置的<Appenders>节点中正确定义,且配置的日志文件路径对应用进程有写入权限。

内容的提问来源于stack exchange,提问作者Sagar Joon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 21:12:35