MyBatis-Plus使用sl4j日志打印SQL的代碼詳解
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> <!-- 請根據(jù)需要替換為最新版本 --> </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
。如果手動添加,可能會導(dǎo)致依賴沖突。
- 使用 Spring Boot 起始器時,通常會自動引入 SLF4J 和 Logback,因此不需要手動添加
默認(rèn)日志級別:
- MyBatis-Plus 的默認(rèn)日志級別是
INFO
,這意味著如果不顯式配置,只有INFO
級別及以上的日志信息會被記錄和輸出。因此,為了查看 SQL 日志,通常需要將 MyBatis 的日志級別設(shè)置為DEBUG
。
- MyBatis-Plus 的默認(rèn)日志級別是
自動配置:
- Spring Boot 會自動配置日志系統(tǒng),通常不需要手動設(shè)置
logback.xml
或logback-spring.xml
。系統(tǒng)會使用默認(rèn)配置來處理日志記錄。
- Spring Boot 會自動配置日志系統(tǒng),通常不需要手動設(shè)置
日志級別配置:
- 你可以通過
application.yml
或application.properties
文件來配置日志級別,確保正確設(shè)置相應(yīng)包的日志級別,特別是你的業(yè)務(wù)包和 MyBatis 相關(guān)的包。
- 你可以通過
level: com.yyy: debug # 設(shè)置你自己的包的日志級別 org.apache.ibatis: debug # 設(shè)置 MyBatis 的日志級別為 debug
使用
logback-spring.xml
:- 如果需要對日志記錄進行更細(xì)粒度的控制,例如自定義日志格式或輸出位置,可以創(chuàng)建一個
logback-spring.xml
文件。這是推薦的方式,因為 Spring Boot 會優(yōu)先使用此文件。
- 如果需要對日志記錄進行更細(xì)粒度的控制,例如自定義日志格式或輸出位置,可以創(chuàng)建一個
2、logback-spring.xml 文件配置(可選)
在 src/main/resources
目錄下創(chuàng)建 logback-spring.xml
文件,并根據(jù)需要進行配置:
<!-- 控制臺輸出 --> <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>
日志配置的詳細(xì)說明
- Appenders:
ConsoleAppender
:將日志輸出到控制臺。你可以根據(jù)需要添加更多的 appender,例如FileAppender
,將日志輸出到文件。
- Loggers:
root
:定義根日志級別和輸出目標(biāo)。所有未特別指定的包的日志將繼承此配置。logger
:為特定包設(shè)置日志級別??梢愿鶕?jù)需要添加多個 logger。
- 模式:
%d{yyyy-MM-dd HH:mm:ss}
:日志輸出的時間格式。%-5level
:日志級別的寬度設(shè)置。[%thread]
:輸出當(dāng)前線程。%logger{36}
:輸出記錄日志的類名,最大長度為 36。%msg
:輸出日志消息。%n
:換行符。
總結(jié)
通過使用 Spring Boot 的 spring-boot-starter-logging
依賴,可以更輕松地集成 SLF4J 和 Logback,而無需擔(dān)心版本沖突或配置問題。在需要自定義日志輸出時,使用 logback-spring.xml
文件進行配置是最佳實踐。同時,確保正確設(shè)置日志級別,特別是將 MyBatis 的日志級別設(shè)置為 DEBUG
,以便在開發(fā)和調(diào)試過程中能夠看到所需的 SQL 日志信息。
以上就是MyBatis-Plus使用sl4j日志打印SQL的代碼詳解的詳細(xì)內(nèi)容,更多關(guān)于MyBatis-Plus sl4j打印SQL的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot整合Ip2region獲取IP地址和定位的詳細(xì)過程
ip2region v2.0 - 是一個離線IP地址定位庫和IP定位數(shù)據(jù)管理框架,10微秒級別的查詢效率,提供了眾多主流編程語言的 xdb 數(shù)據(jù)生成和查詢客戶端實現(xiàn) ,這篇文章主要介紹了SpringBoot整合Ip2region獲取IP地址和定位,需要的朋友可以參考下2023-06-06淺談Java中Int、Integer、Integer.valueOf()、new Integer()之間的區(qū)別
本文主要介紹了淺談Java中Int、Integer、Integer.valueOf()、new Integer()之間的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11Shiro與Springboot整合開發(fā)的基本步驟過程詳解
這篇文章主要介紹了Shiro與Springboot整合開發(fā)的基本步驟,本文結(jié)合實例代碼給大家介紹整合過程,感興趣的朋友跟隨小編一起看看吧2023-06-06Java實現(xiàn)XML與JSON秒級轉(zhuǎn)換示例詳解
這篇文章主要為大家介紹了Java實現(xiàn)XML與JSON秒級轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09springboot 如何重定向redirect 并隱藏參數(shù)
這篇文章主要介紹了springboot 如何重定向redirect 并隱藏參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09eclipse創(chuàng)建springboot項目的三種方式總結(jié)
這篇文章主要介紹了eclipse創(chuàng)建springboot項目的三種方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Spring?Data?JPA框架的Repository自定義實現(xiàn)詳解
Spring?Data?JPA是Spring基于JPA規(guī)范的基礎(chǔ)上封裝的?套?JPA?應(yīng)?框架,可使開發(fā)者?極簡的代碼即可實現(xiàn)對數(shù)據(jù)庫的訪問和操作,本篇我們來了解Spring?Data?JPA框架的Repository自定義實現(xiàn)2022-04-04