Làm cách nào tôi có thể định cấu hình Logback để ghi các mức khác nhau cho một logger đến các đích khác nhau?
Ví dụ, được đưa ra cấu hình Logback sau, Logback sẽ ghi lại INFO
tin nhắn STDOUT
và ERROR
tin nhắn tới STDERR
?
(Lưu ý rằng ví dụ này là một biến thể của ví dụ logback-examples/src/main/java/chapters/configuration/sample4.xml
được hiển thị trong Chương 3: Cấu hình 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>
levels are ordered as follows: TRACE < DEBUG < INFO < WARN < ERROR.