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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 淘东电商项目(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不能打印的问题。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
开发者
淘东电商项目(52) -聚合支付开篇
淘东电商项目(52) -聚合支付开篇
70 0
|
数据库
淘东电商项目(54) -银联支付案例(同步与异步)
淘东电商项目(54) -银联支付案例(同步与异步)
114 0
|
前端开发 JavaScript Java
淘东电商项目(24) -获取验证码功能
淘东电商项目(24) -获取验证码功能
68 0
|
缓存 前端开发 安全
淘东电商项目(73) -秒杀系统(前端优化)
淘东电商项目(73) -秒杀系统(前端优化)
135 0
淘东电商项目(80) -思维导图小结
淘东电商项目(80) -思维导图小结
42 0
淘东电商项目(80) -思维导图小结
|
前端开发 Java 应用服务中间件
淘东电商项目(53) -银联支付案例源码分析
淘东电商项目(53) -银联支付案例源码分析
87 0
|
微服务
淘东电商项目(18) -全局异常捕获
淘东电商项目(18) -全局异常捕获
54 0
|
Java 测试技术 Maven
淘东电商项目(13) -项目整合WxJava
淘东电商项目(13) -项目整合WxJava
60 0
淘东电商项目(03) - 父类配置
淘东电商项目(03) - 父类配置
53 0
|
前端开发 NoSQL 算法
淘东电商项目(77) -秒杀系统(小结)
淘东电商项目(77) -秒杀系统(小结)
47 0