MYBATIS02_Slf4jlogback日志框架的演变如何简单的使用

Posted 所得皆惊喜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYBATIS02_Slf4jlogback日志框架的演变如何简单的使用相关的知识,希望对你有一定的参考价值。

文章目录

①. 日志框架的演变

  • ①. 1.4之前,没有任何的日志框架。项目中都是通过System.out.prinln(“”)进行输出内容,有一个工程师小明,考虑如下几种情况:
  1. 将日志按照级别输入,按照包或者类来输入
  2. 将日志输入到文件中,能不能按照日期或者文件大小来进行归档
  3. 自定义格式,让日志更美观
  • ②. 经过代码的开发,开源了log4j框架,所有的开发人员都可以维护这个框架,后面被apache收购

  • ③. JDK也想开发自己的日志框架,经过研发的努力,开发出了JU(java.util.logging)框架、后面也有很多的日志框架如:Jboss­logging

  • ④. 小明这个时候想把市面上的日志框架做一个集成,于是开发出了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日志框架的演变如何简单的使用的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis 6日志

Mybatis 6日志

阶段3 1.Mybatis_02.Mybatis入门案例_3 mybatis注解开发和编写dao实现类的方式

阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_02.三层架构和ssm框架的对应关系

TZ_02MyBatis_一级缓存和二级缓存

Mybatis异常_02_Result Maps collection already contains value for