引言

在上一节《果然新鲜电商项目(23)- 全局异常捕获》,主要讲解如何捕获全局异常,并使用日志打印。

本文主要简单的讲解下项目中的日志框架,「淘东电商项目」使用的是Slf4j日志框架。

1. Slf4j日志

1.1 Slf4j简介

之前,我们在项目里引入了依赖:
在这里插入图片描述
其实里面已经默认集成了Slf4j框架了,所以我们直接使用就可以了,使用方式如下:

private static Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);

后来我们引入了Lombok框架,简化了很多的代码,最后直接注解声明就可以使用了:
在这里插入图片描述

1.2.Slf4j简单使用

新建一个单元测试类:

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

@Slf4j
public class TestLog {

    @Test
    public void testlog() {
        log.debug("=====>debug");
        log.error("=====>error");
        log.info("=====>info");
        log.warn("=====>warn");
    }
}

运行:
在这里插入图片描述

2. 打印MyBatis语句的SQL语句

在项目中,我们调用MyBatis时,不能打印查询的SQL语句,这是因为Mybatis默认使用的日志框架并不是Slf4j,所以要在yml配置文件指定Mybatis使用Slf4j

mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

同时需要声明日志打印的范围,我声明为debug,一般生产环境建议改回info(格式:logging.level+mapper包名+日志类型):

logging:
  level:
    com.guoranxinxian.mapper: debug

启动项目,可以看到日志,使用了Slf4j作为MyBatis的日志框架,调用接口,Mybatis查询数据库,可以看到有SQL查询语句打印:

在这里插入图片描述

3.总结

本文简单的介绍了Sl4J日志框架的使用,并解决MyBatis不能打印的问题。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐