返回

Mybatis-Plus 畅快记录SQL日志,释放你的调试烦恼

后端

MyBatis-Plus SQL 日志打印指南:助力你的数据库调试之旅

简介

MyBatis-Plus 是一款功能强大的 ORM 框架,可以简化数据库操作并提升开发效率。在开发过程中,打印 SQL 日志是调试数据库操作必不可少的工具。本文将深入探讨 MyBatis-Plus SQL 日志打印的各种方法,帮助你选择最适合自己项目需求的方案。

一、控制台打印:简单直接

1. 配置 application.yml

在 application.yml 文件中添加以下配置:

logging.level.org.apache.ibatis=debug

2. 重启项目

重启项目后,即可在控制台中实时查看 SQL 日志。

优点:

  • 简单便捷,不需要额外的配置。
  • 实时显示 SQL 日志,方便调试。

缺点:

  • 日志输出可能过于冗长,影响控制台的可读性。

二、日志文件打印:持久可靠

1. 配置 application.yml

在 application.yml 文件中添加以下配置:

logging.file.name=mybatis-plus.log
logging.level.org.apache.ibatis=debug

2. 重启项目

重启项目后,即可在指定日志文件中查看 SQL 日志。

优点:

  • 日志输出持久可靠,方便日后追溯。
  • 可以通过修改日志级别来控制输出内容。

缺点:

  • 无法实时查看 SQL 日志。

三、logback.xml 配置:灵活定制

如果你需要更加灵活的日志记录配置,可以修改 logback.xml 文件:

1. 定义日志格式

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern>

2. 定义日志输出

<logger name="org.apache.ibatis" level="debug" additivity="false">
  <appender-ref ref="FILE"/>
</logger>

优点:

  • 可以自定义日志格式和输出位置。
  • 提供更精细的日志级别控制。

缺点:

  • 配置较复杂,需要一定的技术基础。

结论

MyBatis-Plus SQL 日志打印提供了多种选择,从简单易用的控制台打印到灵活定制的 logback.xml 配置。根据项目的具体需求,可以选择最适合自己的方案。通过打印 SQL 日志,可以轻松定位数据库操作问题,提高开发效率和应用稳定性。

常见问题解答

1. 如何只打印执行失败的 SQL 日志?

可以修改 application.yml 文件中的配置:

logging.level.org.apache.ibatis.executor.statement=debug

2. 如何控制日志输出的详细程度?

可以修改 logging.level.org.apache.ibatis 的值,取值范围从 ERROR 到 TRACE:

  • ERROR:仅输出错误信息
  • WARN:输出警告信息和错误信息
  • INFO:输出一般信息、警告信息和错误信息
  • DEBUG:输出详细的调试信息、一般信息、警告信息和错误信息
  • TRACE:输出最详细的日志信息

3. 如何使用 logback.xml 配置过滤 SQL 日志?

可以在 logback.xml 文件中添加以下配置:

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  <level>WARN</level>
</filter>

4. 如何同时输出 SQL 日志到控制台和文件?

可以在 logback.xml 文件中添加以下配置:

<root level="INFO">
  <appender-ref ref="CONSOLE"/>
  <appender-ref ref="FILE"/>
</root>

5. 如何屏蔽 MyBatis-Plus 中某些类的 SQL 日志?

可以在 logback.xml 文件中添加以下配置:

<logger name="org.apache.ibatis.type.TypeHandler" level="OFF"/>