我正在尝试配置 logback-classic 来处理以下情况:所有来自 my.class 且具有 debug 或更高级别的消息都应发送到 stdout appender。
并且所有警告级别或更高级别的错误消息也应该发送到 altout 附加程序,无论它们来自何处。但我似乎无法让它工作。
我已经尝试过这个配置,但问题是如果我将 additivity 设置为 true,那么所有记录到 stdout 的消息也会被发送到 altout,无论它们的警告级别如何。但是,如果我设置 additivity=false 则不会将来自 my.server 的消息发送到 altout,即使它们具有警告/错误级别。
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>Stdout: %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="ALTOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>Altout: %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name='my.class' level='debug' additivity="false">
<appender-ref ref="ALTOUT" />
</logger>
<root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>