如何將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