【发布时间】:2018-05-03 07:14:33
【问题描述】:
我们知道logger继承了root在Logback中的配置。
例如:
<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
<logger name="com.thinkaurelius.thrift" level="ERROR"/>
<logger name="org.apache.cassandra.transport" level="DEBUG">
<appender-ref ref="QUERYLOGGER" />
</logger>
在这个logback.xml 中,我们定义了一个root,它有两个appender:
-
FILE(将输出重定向到文件) -
STDOUT(终端打印机)
我们还添加了两个loggers,我们在其中定义了一些自定义的日志记录级别和自定义的附加程序。例如:所有 DEBUG 日志都将转到 QUERYLOGGER appender(这是磁盘上的另一个文件),用于org.apache.cassandra.transport
但是,org.apache.cassandra.transport 的所有调试信息也会出现在 STDOUT 和 FILE 中,因为它继承了 root 的配置。
如果我想禁用 STDOUT 和 FILE 附加程序,但只为 org.apache.cassandra.transport 记录器保留 QUERYLOGGER 附加程序怎么办?
【问题讨论】: