设置MyBatis-Plus打印执行的 SQL 语句到控制台或日志文件中 ...

tsx81429  金牌会员 | 前天 07:50 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 905|帖子 905|积分 2715

设置MyBatis-Plus打印

1. 使用 log4j 或 logback 设置

MyBatis-Plus 支持多种日志框架,如 SLF4J, Commons Logging, Log4J, Log4J2 和 JDK logging。这里以 Logback 为例分析如何设置。
在你的 logback.xml 文件中添加如下设置:
  1. <configuration>
  2.     <!-- 其他配置 -->
  3.     <logger name="com.baomidou.mybatisplus" level="DEBUG"/>
  4.    
  5.     <!-- 如果你还想看到SQL参数,则需要同时开启以下logger -->
  6.     <logger name="com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor" level="DEBUG"/>
  7.     <logger name="com.baomidou.mybatisplus.core.executor.MybatisBatchExecutor" level="DEBUG"/>
  8.     <!-- 其他配置 -->
  9. </configuration>
复制代码
2. 使用 mybatis-plus 的设置属性

你也可以直接在 application.properties 或 application.yml 中设置 MyBatis-Plus 相干的日志级别:
对于 application.properties 文件:
  1. # 打印完整的SQL语句
  2. mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
复制代码
对于 application.yml 文件:
  1. mybatis-plus:
  2.   configuration:
  3.     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
复制代码
这会将 SQL 输出到标准输出(即控制台)。假如你想更详细地控制日志输特殊式和位置,建议使用日志框架进行设置。
3. 开启 MyBatis-Plus 的 sql 日志

偶然你大概只需要查看 SQL 而不是全部级别的日志信息,在这种情况下你可以单独为 MyBatis-Plus 设置 SQL 日志级别:
  1. logging:
  2.   level:
  3.     com.baomidou.mybatisplus: DEBUG
复制代码
大概在 application.properties 中:
  1. logging.level.com.baomidou.mybatisplus=DEBUG
复制代码
以上任一方法都可以帮助你在开发情况中调试 SQL 查询。请注意,在生产情况中应当审慎设置日志级别,克制由于过多的日志记录而影响性能。
日志等级

日志等级是用于控制应用步伐中差别级别的消息输出的机制。差别的日志等级表示差别水平的重要性或严重性,这有助于开发者根据需要过滤和查看日志信息。以下是常见的日志等级及其分析:
1.TRACE (最详细)
这是最详细的日志级别,通常用来记录非常细粒度的信息事件。这些信息在诊断问题时大概很有用,但它们大概会产生大量的日志数据,因此一般只在开发或调试情况中使用。
2.DEBUG
该级别重要用于开发和调试阶段。它会记录比 TRACE 少一些但是仍然很详细的信息,帮助开发者相识步伐运行的过程。当出现问题时,可以启用此级别来获取更多的上下文信息。
3.INFO
这是一个常用的日志级别,适用于记录系统运行中的重要事件,如启动、关闭服务等。它提供的信息量适中,既不会太多也不会太少,适合于生产情况中的常规日志记录。
4.WARN
告诫级别,用来标记潜在的问题大概非致命错误。这类日志信息提示某些事变大概不对劲,但还不至于导致系统失败。例如,设置文件缺失默认值被采用等情况。
5.ERROR
错误级别,用于记录更严重的错误情况,这些错误大概会导致功能部分失效或完全无法工作。与 FATAL 差别的是,ERROR 级别的错误虽然严重,但是系统还能继续运行。
6.FATAL (最不频仍)
致命级别,代表了极其严重的错误,通常是不可规复的情况,大概导致整个应用步伐瓦解或必须立即停止操作。这种级别的日志应该非常少见。
日志等级的关系

日志等级从上到下依次递减,即 TRACE 是最详细的,而 FATAL 是最不频仍的。当你设置一个日志等级时,实际上你也在选择是否要显示更高(更严格)级别的日志。例如,假如你设置了日志等级为 WARN,那么只有 WARN、ERROR 和 FATAL 的日志会被记录下来;而 INFO、DEBUG 和 TRACE 的日志则不会被记录。
设置日志等级

在实际应用中,你可以通过设置文件来设定差别包或类的日志等级。比如,在 Spring Boot 应用中,你可以在 application.properties 或 application.yml 文件中指定日志等级:
  1. # application.properties 示例
  2. logging.level.com.example=DEBUG
复制代码
  1. # application.yml 示例
  2. logging:
  3.   level:
  4.     com.example: DEBUG
复制代码
以上设置将 com.example 包下的全部类的日志等级设置为 DEBUG,意味着将会输出 DEBUG 及其以上的全部日志信息。

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

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

tsx81429

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

标签云

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