Logback排除根记录器的日志记录器

14

我有几个包装好的东西,我想要将日志分开。

<property name="A" value="com.a"/>
<property name="B" value="com.b"/>
<property name="C" value="com.c"/>

<logger name="${A}" level="DEBUG">
    <appender-ref ref="FILE_A"/>
</logger>

<logger name="${B}" level="DEBUG">
    <appender-ref ref="FILE_B"/>
</logger>

<logger name="${C}" level="DEBUG">
    <appender-ref ref="FILE_B"/> <!-- yes B -->
</logger>

<root level="DEBUG">      
    <-- used for other logs too ->
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="ROOT_FILE"/>
</root>

我有FILE_A,FILE_B和ROOT_FILE; ROOT_FILE包含由root记录器以及A、B和C记录器写入的信息。

我怎样才能将FILE_A、FILE_B的信息从ROOT_FILE中排除?

或者换句话说,我如何从根记录器中排除日志数据(com.c com.b com.a)?

1个回答

31

com.acom.b日志记录器的additivity标志设置为false。

<logger name="${A}" level="DEBUG" additivity="false">
     <appender-ref ref="FILE_A"/>
</logger>

现在在该记录器中记录的事件将不会传播到父记录器(在您的情况下是根记录器)。

文档


非常感谢您的帮助。 - Java Dude

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接