springboot配置mybatis debug的sql日志输出

文章目录

前置

你使用:

  • springboot
  • java
  • mybatis
  • log4j2 日志

配置

在 src/main/resources/log4j2.xml 中配置 MyBatis Mapper 包的日志级别为 DEBUG,并指定输出目标(控制台或文件)

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <!-- 控制台输出 -->
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>

  <Loggers>
    <!-- 根日志级别 -->
    <Root level="INFO">
      <AppenderRef ref="Console"/>
    </Root>

    <!-- MyBatis Mapper 包的 SQL 日志(DEBUG 级别) -->
    <Logger name="com.example.mapper" level="DEBUG" additivity="false">
      <AppenderRef ref="Console"/>
    </Logger>

	<!-- MyBatis 核心日志(DEBUG) -->
        <Logger name="org.mybatis" level="DEBUG" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>

        <!-- JDBC 底层日志(TRACE,可选) -->
        <Logger name="java.sql" level="TRACE" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
  </Loggers>
</Configuration>

additivity="false" 表示不将日志传递给父级 Logger(避免重复输出)

输出样例

复制代码
DEBUG [main] com.example.mapper.UserMapper - ==>  Preparing: SELECT * FROM users WHERE id = ?
DEBUG [main] com.example.mapper.UserMapper - ==> Parameters: 1(Long)
DEBUG [main] com.example.mapper.UserMapper - <==      Total: 1

建议

实际开发中,生产/开发/测试环境,不同的环境对应各自的 log4j2.xml

开发测试环境你可以配置上这个,方便快速定位问题,生产环境不建议开启,开也是临时开启为了排查线上问题

相关推荐
Terio_my5 分钟前
Spring Boot 缓存技术
spring boot·后端·缓存
梦飞翔2389 小时前
Spring Boot
spring boot
青柠编程9 小时前
基于Spring Boot的选课管理系统架构设计
java·spring boot·后端
前端橙一陈10 小时前
LocalStorage Token vs HttpOnly Cookie 认证方案
前端·spring boot
每次的天空11 小时前
Android -Glide实战技术总结
java·spring boot·spring
Code blocks13 小时前
SpringBoot快速生成二维码
java·spring boot·后端
java水泥工13 小时前
师生健康信息管理系统|基于SpringBoot和Vue的师生健康信息管理系统(源码+数据库+文档)
数据库·vue.js·spring boot
上官浩仁13 小时前
springboot3 mybatis 数据库操作入门与实战
spring boot·mybatis·db
五颜六色的池14 小时前
my sql 常用函数及语句的执行顺序
数据库·sql
Fency咖啡15 小时前
Spring Boot 3.x 开发 Starter 快速上手体验,通过实践理解自动装配原理
java·spring boot·后端