MyBatis-Plus使用sl4j日志打印SQL的代码详解
作者:漫漫求
以下是关于使用 Spring Boot 起始器替换 slf4j-api 和 logback 依赖的详细步骤和注意事项,包括 MyBatis-Plus 的默认日志级别信息,需要的朋友可以参考下
1、依赖项配置
在 pom.xml
中添加以下依赖项:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- MyBatis-Plus Starter --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version> <!-- 请根据需要替换为最新版本 --> </dependency> <!-- Spring Boot Starter Logging (已包含 SLF4J 和 Logback) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
注意事项
依赖冲突:
- 使用 Spring Boot 起始器时,通常会自动引入 SLF4J 和 Logback,因此不需要手动添加
slf4j-api
和logback-classic
。如果手动添加,可能会导致依赖冲突。
- 使用 Spring Boot 起始器时,通常会自动引入 SLF4J 和 Logback,因此不需要手动添加
默认日志级别:
- MyBatis-Plus 的默认日志级别是
INFO
,这意味着如果不显式配置,只有INFO
级别及以上的日志信息会被记录和输出。因此,为了查看 SQL 日志,通常需要将 MyBatis 的日志级别设置为DEBUG
。
- MyBatis-Plus 的默认日志级别是
自动配置:
- Spring Boot 会自动配置日志系统,通常不需要手动设置
logback.xml
或logback-spring.xml
。系统会使用默认配置来处理日志记录。
- Spring Boot 会自动配置日志系统,通常不需要手动设置
日志级别配置:
- 你可以通过
application.yml
或application.properties
文件来配置日志级别,确保正确设置相应包的日志级别,特别是你的业务包和 MyBatis 相关的包。
- 你可以通过
level: com.yyy: debug # 设置你自己的包的日志级别 org.apache.ibatis: debug # 设置 MyBatis 的日志级别为 debug
使用
logback-spring.xml
:- 如果需要对日志记录进行更细粒度的控制,例如自定义日志格式或输出位置,可以创建一个
logback-spring.xml
文件。这是推荐的方式,因为 Spring Boot 会优先使用此文件。
- 如果需要对日志记录进行更细粒度的控制,例如自定义日志格式或输出位置,可以创建一个
2、logback-spring.xml 文件配置(可选)
在 src/main/resources
目录下创建 logback-spring.xml
文件,并根据需要进行配置:
<!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 根日志配置 --> <root level="debug"> <appender-ref ref="STDOUT" /> </root> <!-- MyBatis 日志配置 --> <logger name="org.apache.ibatis" level="debug" /> </configuration>
日志配置的详细说明
- Appenders:
ConsoleAppender
:将日志输出到控制台。你可以根据需要添加更多的 appender,例如FileAppender
,将日志输出到文件。
- Loggers:
root
:定义根日志级别和输出目标。所有未特别指定的包的日志将继承此配置。logger
:为特定包设置日志级别。可以根据需要添加多个 logger。
- 模式:
%d{yyyy-MM-dd HH:mm:ss}
:日志输出的时间格式。%-5level
:日志级别的宽度设置。[%thread]
:输出当前线程。%logger{36}
:输出记录日志的类名,最大长度为 36。%msg
:输出日志消息。%n
:换行符。
总结
通过使用 Spring Boot 的 spring-boot-starter-logging
依赖,可以更轻松地集成 SLF4J 和 Logback,而无需担心版本冲突或配置问题。在需要自定义日志输出时,使用 logback-spring.xml
文件进行配置是最佳实践。同时,确保正确设置日志级别,特别是将 MyBatis 的日志级别设置为 DEBUG
,以便在开发和调试过程中能够看到所需的 SQL 日志信息。
以上就是MyBatis-Plus使用sl4j日志打印SQL的代码详解的详细内容,更多关于MyBatis-Plus sl4j打印SQL的资料请关注脚本之家其它相关文章!