设为首页 加入收藏

TOP

Java日志记录框架Logback详解(三)
2018-04-08 08:51:25 】 浏览:1051
Tags:Java 日志 记录 框架 Logback 详解
p; <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
   
    <logger name="java" additivity="false" />
    <logger name="java.lang" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>
   
    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
   
</configuration>


看一下输出:


2018-03-31 22:22:58.843 [main] WARN  java.lang.Object - =====warn=====


看到尽管<logger>配置的是DEBUG,但是输出的只有warn,因为在<filter>中对匹配到WARN级别时做了ACCEPT(接受),对未匹配到WARN级别时做了DENY(拒绝),当然只能打印出WARN级别的日志。


再看一下ThresholdFilter,配置为:


<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="false" scanPeriod="60000" debug="false">


    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
    </appender>
   
    <logger name="java" additivity="false" />
    <logger name="java.lang" level="DEBUG">
        <appender-ref ref="STDOUT" />
    </logger>
   
    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
   
</configuration>


看一下输出为:


2018-03-31 22:41:32.353 [main] INFO  java.lang.Object - =====info=====
2018-03-31 22:41:32.358 [main] WARN  java.lang.Object - =====warn=====
2018-03-31 22:41:32.359 [main] ERROR java.lang.Object - =====error=====


因为ThresholdFilter的策略是,会将日志级别小于<level>的全部进行过滤,因此虽然指定了DEBUG级别,但是只有INFO及以上级别的才能被打印出来。


首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++的命名空间意义解读 下一篇PHP 单例模式和工厂模式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目