重新登录从根目录排除记录器 [英] Logback exclude logger from root

查看:65
本文介绍了重新登录从根目录排除记录器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我打包了一些文件,我想单独记录日志.

I have a few packaged and I want to separate logging.

<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包含由根记录程序以及A B和C记录程序写入的信息.

So I have FILE_A FILE_B AND ROOT_FILE; ROOT_FILE contains info that writes by root logger and by A B and C loggers.

如何从ROOT_FILE中排除FILE_A FILE_B信息?

How I can exclude FILE_A FILE_B info from ROOT_FILE ?

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

Or in another words how i can exclude log data (com.c com.b com.a) from root logger ?

推荐答案

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

set additivity flag for com.a and com.b loggers to false.

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

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

now events logged in that logger won't be propagated to parent loggers (root logger in your case).

文档

这篇关于重新登录从根目录排除记录器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆