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

打印 上一主题 下一主题

主题 844|帖子 844|积分 2532

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


  • 创建或修改 Logback 设置文件
    在 src/main/resources 目次下创建或修改 logback-spring.xml 文件(Spring Boot 会优先加载这个文件,假如没有则加载 logback.xml)。
  • 添加 MyBatis 或 MyBatis-Plus 的 Logger 设置
    在 Logback 设置文件中,你需要为 MyBatis 或 MyBatis-Plus 的相关包添加 logger 设置。以下是一个示例设置,它会在控制台打印 SQL 语句和参数:
    1. [/code] xml复制代码
    2.    [table][tr][td][/td][td]<configuration>[/td][/tr][tr][td][/td][td]<!-- 其他设置 -->[/td][/tr][tr][td][/td][td][/td][/tr][tr][td][/td][td]<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">[/td][/tr][tr][td][/td][td]<encoder>[/td][/tr][tr][td][/td][td]<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>[/td][/tr][tr][td][/td][td]</encoder>[/td][/tr][tr][td][/td][td]</appender>[/td][/tr][tr][td][/td][td][/td][/tr][tr][td][/td][td]<!-- 打印 MyBatis 或 MyBatis-Plus 的 SQL 语句和参数 -->[/td][/tr][tr][td][/td][td]<logger name="com.yourpackage.mapper" level="DEBUG" additivity="false">[/td][/tr][tr][td][/td][td]<appender-ref ref="STDOUT" />[/td][/tr][tr][td][/td][td]</logger>[/td][/tr][tr][td][/td][td][/td][/tr][tr][td][/td][td]<!-- 假如使用 MyBatis-Plus,可以添加以下设置来捕获更多日志 -->[/td][/tr][tr][td][/td][td]<logger name="com.baomidou.mybatisplus" level="DEBUG" />[/td][/tr][tr][td][/td][td][/td][/tr][tr][td][/td][td]<!-- 根 logger 设置 -->[/td][/tr][tr][td][/td][td]<root level="INFO">[/td][/tr][tr][td][/td][td]<appender-ref ref="STDOUT" />[/td][/tr][tr][td][/td][td]</root>[/td][/tr][tr][td][/td][td]</configuration>[/td][/tr][/table]请留意,你需要将 com.yourpackage.mapper 替换为你本身的 Mapper 接口所在的包名。
    3. [*] [b]设置 MyBatis 或 MyBatis-Plus[/b]:
    4. 在 application.properties 或 application.yml 文件中,你可以设置 MyBatis 或 MyBatis-Plus 的日志实现。固然 Logback 的设置已经可以大概捕获 SQL 日志,但你也可以通过以下方式显式设置日志实现:
    5. [list]
    6. [*] 对于 MyBatis:
    7. [code]
    复制代码
    properties复制代码
         
    mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
    大概,在 mybatis-config.xml 中设置:
    1. [/code] xml复制代码
    2.      [table][tr][td][/td][td]<configuration>[/td][/tr][tr][td][/td][td]<settings>[/td][/tr][tr][td][/td][td]<setting name="logImpl" value="STDOUT_LOGGING"/>[/td][/tr][tr][td][/td][td]</settings>[/td][/tr][tr][td][/td][td]</configuration>[/td][/tr][/table]
    3. [*] 对于 MyBatis-Plus:
    4. [code]
    复制代码
    properties复制代码
         
    mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

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

  • 重启应用步调
    修改设置后,重启你的 Spring Boot 应用步调以使更改生效。
  • 验证日志输出
    运行你的应用步调并执行一些数据库操作,然后查抄控制台以确认 SQL 日志和参数是否正确打印。
    留意事项



    • 确保你的 Mapper 接口和 XML 映射文件(假如使用)已经正确设置,并且可以大概被 Spring Boot 扫描到。
    • 假如你的项目中有多个数据源或使用了复杂的设置,请确保你的 Logback 设置可以大概正确地捕获全部相关的日志。
    • 假如你的 SQL 语句很长或包罗敏感信息,你可能需要调解 Logback 的设置以限制日志输出的长度或隐藏敏感信息。
    通过以上步骤,你应该可以大概在 Spring Boot 项目中使用 Logback 打印 MyBatis 或 MyBatis-Plus 的 SQL 日志及其结果。

    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
  • 回复

    使用道具 举报

    0 个回复

    正序浏览

    快速回复

    您需要登录后才可以回帖 登录 or 立即注册

    本版积分规则

    忿忿的泥巴坨

    金牌会员
    这个人很懒什么都没写!

    标签云

    快速回复 返回顶部 返回列表