ฉันจะกำหนดค่าLogbackให้ล็อกระดับต่าง ๆ สำหรับตัวบันทึกไปยังปลายทางอื่นได้อย่างไร
ตัวอย่างเช่นเมื่อกำหนดค่า Logback ดังต่อไปนี้จะบันทึกINFO
ข้อความกลับไปที่STDOUT
และERROR
ข้อความถึงSTDERR
หรือไม่
(โปรดทราบว่าตัวอย่างนี้เป็นตัวอย่างที่logback-examples/src/main/java/chapters/configuration/sample4.xml
แสดงในบทที่ 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>
levels are ordered as follows: TRACE < DEBUG < INFO < WARN < ERROR.