spring boot 项目打印sql日志和结果,使用logback或配置文件

在 Spring Boot 项目中使用 MyBatis 或 MyBatis-Plus 作为持久化框架时,你可以通过配置 Logback 来打印 SQL 日志及其结果。以下是一些具体的步骤和配置示例:

配置 Logback 以打印 MyBatis 或 MyBatis-Plus 的 SQL 日志
  1. 创建或修改 Logback 配置文件

    src/main/resources目录下创建或修改logback-spring.xml文件(Spring Boot 会优先加载这个文件,如果没有则加载logback.xml)。

  2. 添加 MyBatis 或 MyBatis-Plus 的 Logger 配置

    在 Logback 配置文件中,你需要为 MyBatis 或 MyBatis-Plus 的相关包添加 logger 配置。以下是一个示例配置,它会在控制台打印 SQL 语句和参数:

    xml复制代码

    <configuration>

    <!-- 其他配置 -->

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

    <encoder>

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

    </encoder>

    </appender>

    <!-- 打印 MyBatis 或 MyBatis-Plus 的 SQL 语句和参数 -->

    <logger name="com.yourpackage.mapper" level="DEBUG" additivity="false">

    <appender-ref ref="STDOUT" />

    </logger>

    <!-- 如果使用 MyBatis-Plus,可以添加以下配置来捕获更多日志 -->

    <logger name="com.baomidou.mybatisplus" level="DEBUG" />

    <!-- 根 logger 配置 -->

    <root level="INFO">

    <appender-ref ref="STDOUT" />

    </root>

    </configuration>

    请注意,你需要将com.yourpackage.mapper替换为你自己的 Mapper 接口所在的包名。

  3. 配置 MyBatis 或 MyBatis-Plus

    application.propertiesapplication.yml文件中,你可以配置 MyBatis 或 MyBatis-Plus 的日志实现。虽然 Logback 的配置已经能够捕获 SQL 日志,但你也可以通过以下方式显式设置日志实现:

    • 对于 MyBatis:

      properties复制代码

      mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

      或者,在mybatis-config.xml中配置:

      xml复制代码

      <configuration>

      <settings>

      <setting name="logImpl" value="STDOUT_LOGGING"/>

      </settings>

      </configuration>

    • 对于 MyBatis-Plus:

      properties复制代码

      mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

    然而,请注意,这些设置通常不是必需的,因为 Logback 的配置已经足够捕获 SQL 日志。这些设置更多地是为了在没有使用Logback 或需要显式指定日志实现时使用。

  4. 重启应用程序

    修改配置后,重启你的 Spring Boot 应用程序以使更改生效。

  5. 验证日志输出

    运行你的应用程序并执行一些数据库操作,然后检查控制台以确认 SQL 日志和参数是否正确打印。

注意事项
  • 确保你的 Mapper 接口和 XML 映射文件(如果使用)已经正确配置,并且能够被 Spring Boot 扫描到。
  • 如果你的项目中有多个数据源或使用了复杂的配置,请确保你的 Logback 配置能够正确地捕获所有相关的日志。
  • 如果你的 SQL语句很长或包含敏感信息,你可能需要调整 Logback的配置以限制日志输出的长度或隐藏敏感信息。

通过以上步骤,你应该能够在 Spring Boot 项目中使用 Logback 打印 MyBatis 或 MyBatis-Plus 的 SQL 日志及其结果。

相关推荐
IKUN家族26 分钟前
Spring MVC(三)
运维·服务器·spring boot·spring·servlet·java-ee
用户31268748772043 分钟前
Spring Boot 启动流程到底做了什么?从 main 到就绪的全链路源码拆解
spring boot
花生了什么事o2 小时前
Docker 部署 SpringBoot:从镜像构建到服务器运行
服务器·spring boot·docker
摇滚侠2 小时前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 使用监控体系 阅读笔记
spring boot·笔记·后端
倔强的石头1062 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库·spring boot·后端
仍然.2 小时前
SpringBoot统一功能处理
java·spring boot·后端
凤山老林3 小时前
SpringBoot + Configuration2 实现配置的实时双向更新
java·spring boot·后端
2601_963869955 小时前
【计算机毕业设计】基于 Spring Boot+Vue的手工体验馆管理系统的设计与实现
java·spring boot·后端
阿里云大数据AI技术12 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
软萌萌的112 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python