重新登录从根目录排除记录器 [英] Logback exclude logger from root
本文介绍了重新登录从根目录排除记录器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我打包了一些文件,我想单独记录日志.
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.a
和com.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屋!
查看全文