前言
公司项目用的 Spring Boot,选用的是 Log4j2 作为日志实现,本地开发的时候没有把sql语句打印到文件中,并且控制台输出的sql需要自己拼接,看了log4j2官网后整理了个日志文件demo实现自己的需求。Logback作为 Spring Boot自动装配的默认实现,所以选用Log4j2 记得要排除掉默认依赖。
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
application.yml
这里习惯引用外部的配置文件
spring:
datasource:
url: jdbc:mysql://localhost:3306/james?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
mybatis:
config-location: classpath:mybatis.xml
mapper-locations: classpath:mapper/*.xml
logging:
config: classpath:log4j2.xml
mybatis.xml
这个文件用于打印完整的sql语句,遵循mybatis的规范(接口),对应的Java代码是摘录网上的。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<plugins>
<plugin interceptor="com.james.usinglog.MybatisInterceptor"/>
</plugins>
</configuration>
import java.text.DateFormat;
import java.util.Date;

本文介绍如何在SpringBoot项目中配置Log4j2实现特定需求的日志记录,包括调整日志级别、使用RollingFile进行日志滚动及自定义MyBatis SQL语句打印。
最低0.47元/天 解锁文章
1754

被折叠的 条评论
为什么被折叠?



