java - 将具有不同日志记录级别的类别添加到 log4j 中的不同附加程序

标签 java log4j

我希望文件记录器以这样的方式配置该日志类别“x”

  • 记录器一在 INFO 级别记录“x”,在 DEBUG 级别记录其他内容
  • 记录器在调试级别记录两个“x”

我见过使用 Threshold 在不同附加程序中为同一类别实现不同日志记录级别的示例。在这种情况下,它似乎不是一个有效的解决方案,因为在两个附加程序中,我希望至少有一个处于调试级别的类别。

我尝试过做类似的事情:

<appender name="FILE_ONE" class="org.jboss.logging.appender.DailyRollingFileAppender">
...
</appender>
<appender name="FILE_TWO" class="org.jboss.logging.appender.DailyRollingFileAppender">
...
</appender>

<category name="y">
    <priority value="DEBUG"/>
    <appender-ref ref="FILE_ONE"/>
</category>
<category name="x">
    <priority value="INFO"/>
    <appender-ref ref="FILE_ONE"/>
</category>
<category name="x">
    <priority value="DEBUG"/>
    <appender-ref ref="FILE_TWO"/>
</category>

但是第二个类别声明会覆盖第一个类别声明。

这可能吗?

最佳答案

试试这个..通过param name="Threshold"appender标签下设置优先级。

<appender name="FILE_ONE" class="org.jboss.logging.appender.DailyRollingFileAppender">
 <param name="Threshold" value="INFO"/>

...
</appender>
<appender name="FILE_TWO" class="org.jboss.logging.appender.DailyRollingFileAppender">
 <param name="Threshold" value="DEBUG"/>
...
</appender>

关于java - 将具有不同日志记录级别的类别添加到 log4j 中的不同附加程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11152367/

相关文章:

java - 如何从 MongoDB 集合中删除重复项

javax.sound.sampled 它是如何工作的?

java - 使用 Log4j 在不同日志中记录不同级别的消息

java - log4j API中FileAppender的疑问

java - 带有 MemoryMappedFile 和中断文件的 Log4j2

grails - grails应用程序的Log4j socketappender配置?

java - Hibernate Maven 增强插件配置

Java Apache Commons getPercentile() 与 MS Excel 百分位数不同的结果

java - 如何将 fat jar 用于不同的色调工作流程

java - GWT 中的 SLF4J 和 LogBack 配置(Eclipse 和 Jetty)