Log4j2中AppenderRef的Level是否互斥?告警/错误日志是否多端输出?
问题解答
是的,级别为warn/error的日志消息会同时发送至error appender以及log_file、fluentd appender,原因如下:
- 你的
AsyncRoot配置的级别是info,这意味着所有级别≥info(包括warn、error)的日志都会被Root节点捕获。 - 未指定
level属性的AppenderRef(fluentd和log_file)会继承Root的级别(info),因此info及以上的日志都会被转发到这两个appender。 - 带有
level="warn"的errorappender,只会接收级别≥warn的日志(包括warn、error)。
综上,当日志级别为warn或error时,既符合Root的过滤条件,也满足error appender的级别要求,所以会同时发送到这三个appender中。
内容的提问来源于stack exchange,提问作者oshai
相关产品推荐
相关产品推荐

