码迷,mamicode.com
首页 > 其他好文 > 详细

<logger>和<root>

时间:2018-06-01 19:07:37      阅读:3793      评论:0      收藏:0      [点我收藏+]

标签:pat   ram   多个   scan   日志打印   IV   stdout   conf   分享   

<logger>用来设置某一个包或者具体一个类的日志打印级别、以及制定<appender>。<logger>可以包含零个或者多个<appender-ref>元素,标识这个appender将会添加到这个logger。<logger>仅有一个name属性、一个可选的level属性和一个可选的additivity属性:

1、name:用来指定受此logger约束的某一个包或者具体的一个类。

2、level:用来设置打印级别,五个常用打印级别从低到高一次为TRACE、DEBUG、INFO、WARN、ERROR,如果未设置此级别,那么logger将会继承上级的级别。

3、additivity:是否向上级logger传递打印信息,默认为true。

<root>也是<logger>元素,但它是根logger,只有一个level属性,因为它的name就是ROOT,具体可看源码LoggerContext:

public LoggerContext() {
    super();
    this.loggerCache = new ConcurrentHashMap<String, Logger>();

    this.loggerContextRemoteView = new LoggerContextVO(this);
    this.root = new Logger(Logger.ROOT_LOGGER_NAME, null, this);
    this.root.setLevel(Level.DEBUG);
    loggerCache.put(Logger.ROOT_LOGGER_NAME, root);
    initEvaluatorMap();
    size = 1;
    this.frameworkPackages = new ArrayList<String>();
}

Logger的构造函数为:

Logger(String name, Logger parent, LoggerContext loggerContext) {
    this.name = name;
    this.parent = parent;
    this.loggerContext = loggerContext;
}

将logback.xml配置为:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="false" scanPeriod="60000" debug="false">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </layout>
    </appender>
    
    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>
    
</configuration>

root将打印级别设置为“info”级别,<appender>暂时不管

编写代码来测试:

public class Slf4jTest {

    @Test
    public void testSlf4j() {
        Logger logger = LoggerFactory.getLogger(Object.class);
        logger.trace("=====trace=====");  
        logger.debug("=====debug=====");  
        logger.info("=====info=====");  
        logger.warn("=====warn=====");  
        logger.error("=====error=====");  
    }
    
}

控制台的输出:

技术分享图片

logback.xml

 

<logger>和<root>

标签:pat   ram   多个   scan   日志打印   IV   stdout   conf   分享   

原文地址:https://www.cnblogs.com/yourGod/p/9122834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!