当前位置:网站首页>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
边栏推荐
猜你喜欢

关于pthread多线程一些好文章

微信小程序的订阅号开发(消息推送)

visio安装报错 1:1935 2:{XXXXXXXX...

室内外地图切换(室内基于ibeacons三点定位)

Indoor and outdoor map switching (indoor three-point positioning based on ibeacons)

RobotFramework 之 项目框架

Qt Designer怎样加入资源文件

Idea控制台乱码解决

Detailed tutorial on the use of setinterval timing function of wechat applet

微信小程序通过低功耗蓝牙设备进行定位及测距(二)
随机推荐
scikit-learn构建模型的万能模板
DeepinV20安装Mariadb
jacob打印word
帆软调用动态传参的方法,在标题中设置参数
数据库DbVisualizer Pro报文件错误,导致数据连接失败
Logging模块
室内外地图切换(室内基于ibeacons三点定位)
Can global variables be defined in header files
Basic knowledge learning record
微信小程序通过低功耗蓝牙设备进行定位及测距(二)
Wechat applet communicates with low-power Bluetooth - sending data to hardware (III)
报表FCRA考试题集及答案(错了11题)
PySide2
Detailed tutorial on the use of setinterval timing function of wechat applet
CDH cluster integration Phoenix based on CM management
关于Jmeter启动闪退问题
基于ibeacons三点定位(微信小程序)
生产环境——
New关键字的学习和总结
Cdh6 based on CM management 3.2 cluster integration atlas 2 one