log4j、logback日志框架与统一接口slf4j说明

log4j

传入日志框架,老项目中使用较多。

日志级别

根日志级别

log4j.rootLogger=info

默认日志级别,设置后对于没有设置子级别的日志输出都走这个默认值。

子类日志级别

log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout

可以理解为具体某包的日志级别,以MyBatis为例,只有设置起包的日志级别后,控制台才会数据一下格式sql语句:

==>  Preparing:
==> Parameters: 
<==      Total: 

输出源的日志级别

log4j.appender.console.Threshold = info

一般项目日志会输出到类似nohup、控制台、log等

等当中,设置此配置后只能输出对应等级以上日志(一般不设置)。

总结

日志记录器和输出源输出日志级别存在2个逻辑关系:

  1. 输出源如果没有定义日志级别,它会继承最接近它的子类日志记录器的日志级别;子类日志记录器没有定义日志级别,它会继承最接近它的父类日志记录器。
  2. 打印日志时输出源会根据自身定义的日志级别与最接近它的子类日志记录器定义的日志级别比较,如果输出源定义的级别高于子类日志记录器,则按输出源定义的日志级别输出日志,反之则按子类日志记录器的日志级别输出。

巨人的肩膀

java log4j基本配置及日志级别配置详解 - 炭烧小鸡 - 博客园 (cnblogs.com)

Java日志框架SLF4J和log4j以及logback的联系和区别 - 礼炮1号空间站 - 博客园 (cnblogs.com)

Java日志框架:slf4j作用及其实现原理 - 五月的仓颉 - 博客园 (cnblogs.com)

posted @ 2021-11-05 10:44  疯狂马铃薯  阅读(226)  评论(0)    收藏  举报