淘东电商项目(19) -日志打印

引言

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

代码已提交至Github(版本号:01534baa821a7c46e363eaa8552f4dde4d92cd9b),有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

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

本文目录结构:
l____引言
l____ 1. Slf4j日志
l________ 1.1 Slf4j简介
l________ 1.2 Slf4j简单使用
l____ 2. 打印MyBatis语句的SQL语句
l____总结

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.ylw.service.member.mapper: debug

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

总结

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

发布了2653 篇原创文章 · 获赞 5024 · 访问量 46万+

猜你喜欢

转载自blog.csdn.net/qq_20042935/article/details/104631478