Ev3*_*ing 4 logging logback slf4j
我们知道在Logback 中logger继承了它root的配置.
例如:
<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>
Run Code Online (Sandbox Code Playgroud)
在这里logback.xml,我们定义了一个root有两个appender:
FILE (将输出重定向到文件) STDOUT (终端打印机)我们还添加了两个loggers我们定义了一些自定义日志记录级别和自定义appender.例如:所有DEBUG日志将转到QUERYLOGGER appender(磁盘上的另一个文件)org.apache.cassandra.transport
但是,所有调试信息org.apache.cassandra.transport也会出现在STDOUT,FILE因为它继承了配置root.
如果我想禁用STDOUT和FILEappender但QUERYLOGGER只保留只有org.apache.cassandra.transportlogger的appender 怎么办?
阅读了logback的文档.我自己找到了这个具体问题的答案:
<logger>tag支持additivity默认情况下设置为的属性true.将此值设置为false将阻止此记录器继承父项.
对于这种情况:
<logger name="org.apache.cassandra.transport" level="DEBUG" additivity='false'>
<appender-ref ref="QUERYLOGGER" />
</logger>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
422 次 |
| 最近记录: |