当前位置:网站首页>logback-logger和root

logback-logger和root

2022-04-23 14:05:00 想到的名字都被人用了

一、root和logger

<logger>用来设置某一个包或者具体某一个类的日志打印级别、以及指定appender。可以包含零个或者多个<appender-ref>元素,标识这个appender将会添加到这个logger。
<root>也是<logger>元素,但它是根logger,只有一个level属性,因为它的name就是ROOT

接下来我们来讲解一下logger和root的使用

情景

logback配置

   <logger name="com.codexie.controller.demo1" level="debug">
        <appender-ref ref="Stdout" />
        <appender-ref ref="RollingFile" />
    </logger>
    <logger name="com.codexie.controller.demo2" level="warn"></logger>
    <!-- 日志输出级别 -->
    <root level="info">
        <appender-ref ref="Stdout" />   
        <appender-ref ref="RollingFile" />   
    </root> 

我们可以看到demo1的level设置为debug,demo2的level为warn,而root的level为info
controller

@Controller
public class demo1 {
    private static final Logger logger = LoggerFactory.getLogger(demo1.class);

    @RequestMapping("demo1")
    @ResponseBody
    public String logBack(){
        logger.debug("demo1:logback debug");
        logger.info("demo1:logback info");
        return "ok";
    }
}


@Controller
public class demo2 {
    private static final Logger logger = LoggerFactory.getLogger(demo2.class);

    @RequestMapping("demo2")
    @ResponseBody
    public String logBack(){
        logger.info("demo2:logback run");
        logger.debug("demo2:logback info");
        logger.warn("demo2:logback warn");
        return "ok";
    }
}

访问demo1
在这里插入图片描述
可以看到同一个信息打印了两次,因为demo1的level是debug,所以debug和info级别的信息都能·打印,又因为logger和root都有appender,所以同一信息打印了两次。
访问demo2
在这里插入图片描述
访问demo2只打印了一条信息,因为demo2的level为warn,所以不会打印debug和info级别的信息,只会打印warn级别的信息,又因为demo2的logger没有配置appender,所以使用root的appender打印一次。

情景二

 <logger name="com.codexie.controller.demo1" level="debug"> </logger>
  <logger name="com.codexie.controller.demo2" level="warn"></logger>
    <!-- 日志输出级别 -->
    <root level="info">
        <appender-ref ref="Stdout" />   
        <appender-ref ref="RollingFile" />   
    </root> 

我们将demo1的appender也取消了,验证看是否demo1的日志信息也只打印一次
在这里插入图片描述
验证成功,结论正确

版权声明
本文为[想到的名字都被人用了]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42861526/article/details/122842818