logging - 如何在记录器 xml 标记内的 appender refs 中禁用 log4j2.xml 可加性
问题描述
在发布这个问题之前我已经完成了我的研究,我的问题与我没有正确使用 additivity 属性有关,下面是我的 log4j2.xml 的一个片段,我想要实现的是记录器中定义的每个 appender ref应该只附加它定义的级别的日志,但所有附加程序都会获取附加的所有日志消息,而不管日志级别如何,因此例如调试记录器仍然收到我不想要的错误消息。任何投入将不胜感激。
<Logger name="com.mycompnay" level="INFO" additivity="false">
<AppenderRef ref="CoreInfo" level="INFO"/>
<AppenderRef ref="CoreDebug" level="DEBUG"/>
<AppenderRef ref="CoreWarning" level="WARNING"/>
<AppenderRef ref="CoreError" level="ERROR"/>
</Logger>
解决方案
我找到了解决方案,而不是在 appender ref 上设置日志级别,在 appender 声明中你可以做这样的事情来确保它只记录调试消息,你可以将其更改为你想要的任何日志级别。花了一段时间才找到这个!
<LevelRangeFilter minLevel="DEBUG" maxLevel="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
推荐阅读
- angular - 从服务器 Angular 获取错误对象
- python - 更改时区和语言
- multithreading - 多个 tensorflow 推理可以在一个 GPU 上并行运行吗?
- javascript - 使用 setter 设置属性添加属性而不是设置它
- docker - 无法从 Apache Beam 中的本地模拟器读取 Pub/Sub 消息
- vba - VBA - 如何找到从效果创建的形状的名称?
- c# - 如何在 Xamarin.Forms 中直播 .m3u8 视频文件
- javascript - 为重命名的解构变量分配默认值
- vue.js - 渲染后过滤 2 个不同的组件
- c++ - 向量元素类型的特征稀疏矩阵的 CoeffRef 误差