java - 从一个附加器过滤记录器,但不从另一个附加器过滤记录器

标签 java logging log4j appender

我的日志配置中有两个 appender。其中之一发送有关错误事件的电子邮件。

一个我无法控制的类,垃圾邮件ERROR消息。所以我仍然希望拥有这些消息,但不在两个 appenders 中。

这是关于我的文件(简化为此处相关的内容,afaics):

<appender name="Logfile">...</appender>
<appender name="sendMailOnError">...</appender>

<logger name="spammingClass">
    <level value="info"/>
</logger>

<root>
   <level value="debug"/>
   <appender-ref ref="Logfile"/>
   <appender-ref ref="sendMailOnError"/>
</root>

所以,我的猜测是我可以以某种方式排除 sendMailOnError 中的 spammingClass 但我不知道如何。

顺便说一句。我使用 Java,但我不想为此编写自己的 Filter 类。

最佳答案

是的,通过为 spammingClass 指定附加程序并将附加性设置为 false:

<logger name="spammingClass" additivity="false">
    <level value="info"/>
    <appender-ref ref="Logfile"/>
</logger>

关于java - 从一个附加器过滤记录器,但不从另一个附加器过滤记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140565/

相关文章:

ruby-on-rails - 如何在 Rails 中进行拆分日志记录? (某些级别为标准输出,某些级别为标准错误)

java - 为什么我会收到这个奇怪的 log4j 异常?

java - 缓存区域和缓存内存组 : Memcache, EhCache、JCS

go - 在go中将回溯堆栈拆分为结构

java - 不兼容的类型 : possible lossy conversion from long to int While using if condition

azure - 在 Azure 应用程序洞察中激活节点日志

java - Log4j 是一个死项目吗?

console - 配置 Log4j : ConsoleAppender to System. 错误?

java - App Engine 中的搜索引擎友好 URL - Java

java - 在命令行中读取输入文件