我使用logback将TRACE
记录到文件中,并使用DEBUG
appender中的ThresholdFilter
将STDOUT
记录到控制台,类似于以下配置。< / p>
实用程序类FooUtils
执行大量跟踪,通常我只想在文件中,而不是控制台,但BarGenerator
main
使用此类时方法I希望通过降低阈值或其他方式来查看控制台中FooUtils
的输出。有可能吗?
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>foo.log</file>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="TRACE">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
答案 0 :(得分:0)
您可以在BarGenerator的主要方法中指定mapped diagnostic context属性。只要您保持在同一个线程中,所有记录的消息都将使用此属性进行标记,您可以根据appender中的此属性对其进行过滤。