如何将Logback配置为将记录器的不同级别记录到不同的目的地?如何配置Logback以将记录器的不同级别记录到不同的目标?
例如,给定以下的logback配置,将记录的logback INFO
消息STDOUT
并ERROR
消息STDERR
?
(请注意,此示例是Chapter 3: Logback Configuration中显示的示例logback-examples/src/main/java/chapters/configuration/sample4.xml
的变体)。
<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>
配置 - 较高的:),但严重的是,什么你的控制台/标准输出说你是否登录两个级别? – kostja 2011-04-13 17:23:16
关于第二个想法,我认为我更感兴趣回答的问题是,“如何将记录器的不同级别记录到不同的目的地”? – 2011-04-13 17:45:36
您可能会喜欢我创建的[filter](http://stackoverflow.com/q/24141208/581205)。 – maaartinus 2014-06-14 19:22:07