MYBATIS02_Slf4jlogback日志框架的演变如何简单的使用
Posted 所得皆惊喜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYBATIS02_Slf4jlogback日志框架的演变如何简单的使用相关的知识,希望对你有一定的参考价值。
文章目录
①. 日志框架的演变
- ①. 1.4之前,没有任何的日志框架。项目中都是通过System.out.prinln(“”)进行输出内容,有一个工程师小明,考虑如下几种情况:
- 将日志按照级别输入,按照包或者类来输入
- 将日志输入到文件中,能不能按照日期或者文件大小来进行归档
- 自定义格式,让日志更美观
-
②. 经过代码的开发,开源了log4j框架,所有的开发人员都可以维护这个框架,后面被apache收购
-
③. JDK也想开发自己的日志框架,经过研发的努力,开发出了JU(java.util.logging)框架、后面也有很多的日志框架如:Jbosslogging
-
④. 小明这个时候想把市面上的日志框架做一个集成,于是开发出了slf4j框架,slf4j不实现日志功能,我们可以把它理解成一个门面
JDK当然也不甘,自己开发出了JCL(jakarta common logging),毕竟slf4j比较早好用,最终slf4j占据主导地位 -
⑤. 小明基于这个log4j开发出来一个logback(相当于门面具体的商家)
这个时候,apache也不甘示弱,开发了一个log4j2的框架
②. 如何简单的使用
- ①. 导入依赖
<!-- log start -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- log end -->
- ②. 主要有两种获取Logger方式
Logger最好作为类的静态变量 使用,推荐使用第二种,最好加final关键字来修饰
private Logger logger = LoggerFactory.getLogger(getClass());
private static Logger logger = LoggerFactory.getLogger(JdbcUtil.class);
-
③. 各级别的排序为:TRACE < DEBUG < INFO < WARN < ERROR(默认是DEBUG级别)
-
④. 代码测试
@Test
public void test()
//默认级别是debug,大于等于debug的都会输出
logger.trace("跟踪级别");
logger.debug("调试级别");
logger.info("信息级别");
logger.warn("警告级别");
logger.error("异常级别");
- ⑤. 在resource下新建logback.文件
<configuration>
<!--
appender 追加器 日志以哪种方式进行输出
name 取个名字
class不同实现类会输出到不同地方
ch.qos.logback.core.ConsoleAppender 输出到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%dyyyy-MM-dd HH:mm:ss [%thread] %-5level %logger100 - %msg%n</pattern>
</encoder>
</appender>
<!--com.xiaozhi.mapper -->
<!--控制跟细粒度的日志级别 根据包\\根据类-->
<logger name="com.xiaozhi.mapper" level="info"></logger>
org.apache.ibatis.transaction
<root level="debug">
<!-- 将当前日志级别输出到哪个追加器上面 -->
<appender-ref ref="STDOUT" />
</root>
</configuration>
以上是关于MYBATIS02_Slf4jlogback日志框架的演变如何简单的使用的主要内容,如果未能解决你的问题,请参考以下文章
阶段3 1.Mybatis_02.Mybatis入门案例_3 mybatis注解开发和编写dao实现类的方式
阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_02.三层架构和ssm框架的对应关系
Mybatis异常_02_Result Maps collection already contains value for