【问题标题】:sl4j loggback configuration for same logger to two different appender with different levels相同记录器的 sl4j logback 配置到具有不同级别的两个不同附加程序
【发布时间】:2012-08-09 03:48:21
【问题描述】:
如何在 SL4J 中配置 logback?
我的项目有很多类:class1、class2、class3 ......
我想做这两件事:
将所有类记录到名为 FILE1 且具有 WARN 级别(class1、class2、class3...)的文件 appender
将一个名为 class1 的类记录到名为 FILE2 且具有 DEBUG 级别的文件追加器。
问题在于,当我将 class1 的记录器配置为具有 WARN 级别的 FILE1 appender 时,我不知道如何将相同的记录器(class1)配置为具有不同级别的 FILE2 appender(在本例中为 DEBUG)。
我可以将两个附加程序配置到同一个类,但不能使用不同的级别。
【问题讨论】:
标签:
java
logging
slf4j
logback
【解决方案1】:
1/ 将 class1 logger 的日志级别设置为 DEBUG
<logger name="class1" level="DEBUG"/>
2/ 对于 appender FILE1,使用 ThresholdFilter 过滤日志级别 WARN 以下的任何日志事件
<appender name="FILE1" class="ch.qos.logback.core.FileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
...
</appender>
这会将 DEBUG 以上的所有日志事件发送到 appender FILE2,但只有 WARN 以上的事件发送到 appender FILE1。