配置MyBatis-Plus打印
1. 使用 log4j
或 logback
配置
MyBatis-Plus 支持多种日志框架,如 SLF4J, Commons Logging, Log4J, Log4J2 和 JDK logging。这里以 Logback 为例说明如何配置。
在你的 logback.xml
文件中添加如下配置:
<configuration>
<!-- 其他配置 -->
<logger name="com.baomidou.mybatisplus" level="DEBUG"/>
<!-- 如果你还想看到SQL参数,则需要同时开启以下logger -->
<logger name="com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor" level="DEBUG"/>
<logger name="com.baomidou.mybatisplus.core.executor.MybatisBatchExecutor" level="DEBUG"/>
<!-- 其他配置 -->
</configuration>
2. 使用 mybatis-plus
的配置属性
你也可以直接在 application.properties
或 application.yml
中配置 MyBatis-Plus 相关的日志级别:
对于 application.properties
文件:
# 打印完整的SQL语句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
对于 application.yml
文件:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
这会将 SQL 输出到标准输出(即控制台)。如果你想更详细地控制日志输出格式和位置,建议使用日志框架进行配置。
3. 开启 MyBatis-Plus 的 sql
日志
有时你可能只需要查看 SQL 而不是所有级别的日志信息,在这种情况下你可以单独为 MyBatis-Plus 设置 SQL 日志级别:
logging:
level:
com.baomidou.mybatisplus: DEBUG
或者在 application.properties
中:
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
文件中指定日志等级:
# application.properties 示例
logging.level.com.example=DEBUG
# application.yml 示例
logging:
level:
com.example: DEBUG
以上配置将 com.example
包下的所有类的日志等级设置为 DEBUG
,意味着将会输出 DEBUG
及其以上的所有日志信息。