当前位置: 首页 > article >正文

log4j2中<logger>中没有指定appender的输出

一 优先级

1.1 规则

1.如果一个 <logger> 没有显式配置 appender,Log4j2 会将该日志事件传递给其 父 Logger 的 appender

2.这种传递行为会一直向上追溯,直到找到配置了 appender 的 Logger,或者到达 Root Logger

3.如果日志事件最终传递到 Root Logger,并且 Root Logger 配置了 appender,则日志会输出到 Root Logger 的 appender

4.如果 Root Logger 也没有配置 appender,则日志事件会被丢弃(即不会有任何输出)

1.2 案例说明

com.example Logger 没有指定 appender,因此它的日志事件会传递给 Root Logger。

Root Logger 配置了 ConsoleAppender,因此日志会输出到控制台。

1.3 结论

  • 如果 <logger> 没有指定 appender,日志事件会传递给其父 Logger。

  • 如果父 Logger 也没有 appender,日志事件会继续向上传递,直到 Root Logger。

  • 如果 Root Logger 也没有 appender,则日志事件会被丢弃。

  • 通过 additivity 属性可以控制是否将日志事件传递给父 Logger。

1.4  场景描述

如图:

Logger 未指定 appender,且 additivity="false"日志事件被丢弃,不会有任何输出。

1.5  additivity作用 

1.additivity 属性控制日志事件是否传递给父 Logger

additivity="true"(默认值):日志事件会传递给父 Logger。

additivity="false":日志事件不会传递给父 Logger

如果 additivity="false",且当前 Logger 没有配置 appender,则日志事件会被丢弃。


http://www.kler.cn/a/566117.html

相关文章:

  • DevOps原理和实现面试题及参考答案
  • 深度学习笔记线性代数方面,记录一些每日学习到的知识
  • 【前端基础】Day 5 CSS浮动
  • 行为型模式 - 状态模式 (State Pattern)
  • springBean介绍
  • TCP,http,WebSocket
  • errorstack ORA-01466 flashback query expdp scn 都有这个问题
  • 2-3文件的属性信息
  • 中英文多商家电商系统对东南亚国家电商的助力作用
  • 实现实时数据仓库开源项目
  • 图数据库Neo4j面试内容整理-Cypher 查询优化
  • Redis---缓存穿透,雪崩,击穿
  • 算法-二叉树篇14-从中序与后序遍历序列构造二叉树
  • 【Linux系统编程】基础IO--磁盘文件
  • 当AI重构认知:技术狂潮下的教育沉思录
  • C++ Primer 关联容器概述
  • 2. EXCEL中函数和公式《AI赋能Excel》
  • 飞书工单审批对接腾讯电子签:开启合同流程自动化新时代
  • Jmeter基础知识总结
  • Graphics View画一个可调速的风机(pyqt)