【Log4j2】开发环境配置日志策略打印完整MyBatis语句到文件

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

前言

公司项目用的 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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值