如何配置Logback以将记录器的不同级别记录到不同的目的地?
|
如何配置Logback以将记录器的不同级别记录到不同的目的地?
例如,给定以下Logback配置,Logback将记录
INFO
消息到STDOUT
和ERROR
消息到STDERR
吗?
(请注意,此示例是示例“ 4”的变体,如第3章:Logback配置中所示)。
<configuration>
<appender name=\"STDOUT\"
class=\"ch.qos.logback.core.ConsoleAppender\">
<encoder>
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<appender name=\"STDERR\"
class=\"ch.qos.logback.core.ConsoleAppender\">
<encoder>
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
<target>System.err</target>
</appender>
<!-- What is the effective level of \"chapters.configuration\"? -->
<logger name=\"chapters.configuration\" level=\"INFO\" additivity=\"false\">
<appender-ref ref=\"STDOUT\" />
</logger>
<logger name=\"chapters.configuration\" level=\"ERROR\" additivity=\"false\">
<appender-ref ref=\"STDERR\" />
</logger>
<!-- turn OFF all logging (children can override) -->
<root level=\"OFF\">
<appender-ref ref=\"STDOUT\" />
</root>
</configuration>
没有找到相关结果
已邀请:
12 个回复
仿普
com.foo.StdOutFilter
com.foo.ErrOutFilter
感秆暴壳
填盖
了驳
填盖
:
完整示例:
更新:正如Mike在评论中指出的那样,此处将错误级别为ERROR的消息同时打印到STDOUT和STDERR。不过,不知道OP的意图是什么。如果这不是您想要的,可以尝试Mike的答案。
犀耽澄协吻
吐兄
我认为使用GEventEvaluator更为简单,因为无需创建过滤器类。 我为我的英语道歉!
逝媳蘑贩茄
和
。无需以编程方式创建自己的过滤器。在此示例中,WARN和ERROR级别记录到System.err,其余部分记录到System.out:
臂哦
很可爱,但是您不能配置它有一个鞋面级别以及较低级别*,但将其与设置为“ DENY”,“ 22”和“ 2”的两个
结合使用是一种享受。 非常重要:不要忘记STDERR附加程序中的
标记:几分钟的遗漏让我感到沮丧。
*但是它在API中确实有方法
,但是我不知道您在这种情况下如何使用它。
完趣镐
妊辽剁茧
募磷