【发布时间】:2012-06-25 01:54:27
【问题描述】:
我正在尝试配置 logback-classic 来处理以下情况: 源自 my.class 且具有调试级别或更高级别的所有消息都应发送到标准输出附加程序。
并且所有警告级别或更高级别的错误消息也应该转到 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>
【问题讨论】:
-
你能把初始化记录器的代码贴出来吗?