MyBatis-Plus使用sl4j日志打印SQL的代碼詳解
1、依賴項(xiàng)配置
在 pom.xml
中添加以下依賴項(xiàng):
<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> <!-- 請(qǐng)根據(jù)需要替換為最新版本 --> </dependency> <!-- Spring Boot Starter Logging (已包含 SLF4J 和 Logback) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
注意事項(xiàng)
依賴沖突:
- 使用 Spring Boot 起始器時(shí),通常會(huì)自動(dòng)引入 SLF4J 和 Logback,因此不需要手動(dòng)添加
slf4j-api
和logback-classic
。如果手動(dòng)添加,可能會(huì)導(dǎo)致依賴沖突。
- 使用 Spring Boot 起始器時(shí),通常會(huì)自動(dòng)引入 SLF4J 和 Logback,因此不需要手動(dòng)添加
默認(rèn)日志級(jí)別:
- MyBatis-Plus 的默認(rèn)日志級(jí)別是
INFO
,這意味著如果不顯式配置,只有INFO
級(jí)別及以上的日志信息會(huì)被記錄和輸出。因此,為了查看 SQL 日志,通常需要將 MyBatis 的日志級(jí)別設(shè)置為DEBUG
。
- MyBatis-Plus 的默認(rèn)日志級(jí)別是
自動(dòng)配置:
- Spring Boot 會(huì)自動(dòng)配置日志系統(tǒng),通常不需要手動(dòng)設(shè)置
logback.xml
或logback-spring.xml
。系統(tǒng)會(huì)使用默認(rèn)配置來處理日志記錄。
- Spring Boot 會(huì)自動(dòng)配置日志系統(tǒng),通常不需要手動(dòng)設(shè)置
日志級(jí)別配置:
- 你可以通過
application.yml
或application.properties
文件來配置日志級(jí)別,確保正確設(shè)置相應(yīng)包的日志級(jí)別,特別是你的業(yè)務(wù)包和 MyBatis 相關(guān)的包。
- 你可以通過
level: com.yyy: debug # 設(shè)置你自己的包的日志級(jí)別 org.apache.ibatis: debug # 設(shè)置 MyBatis 的日志級(jí)別為 debug
使用
logback-spring.xml
:- 如果需要對(duì)日志記錄進(jìn)行更細(xì)粒度的控制,例如自定義日志格式或輸出位置,可以創(chuàng)建一個(gè)
logback-spring.xml
文件。這是推薦的方式,因?yàn)?Spring Boot 會(huì)優(yōu)先使用此文件。
- 如果需要對(duì)日志記錄進(jìn)行更細(xì)粒度的控制,例如自定義日志格式或輸出位置,可以創(chuàng)建一個(gè)
2、logback-spring.xml 文件配置(可選)
在 src/main/resources
目錄下創(chuàng)建 logback-spring.xml
文件,并根據(jù)需要進(jìn)行配置:
<!-- 控制臺(tái)輸出 --> <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
:將日志輸出到控制臺(tái)。你可以根據(jù)需要添加更多的 appender,例如FileAppender
,將日志輸出到文件。
- Loggers:
root
:定義根日志級(jí)別和輸出目標(biāo)。所有未特別指定的包的日志將繼承此配置。logger
:為特定包設(shè)置日志級(jí)別??梢愿鶕?jù)需要添加多個(gè) logger。
- 模式:
%d{yyyy-MM-dd HH:mm:ss}
:日志輸出的時(shí)間格式。%-5level
:日志級(jí)別的寬度設(shè)置。[%thread]
:輸出當(dāng)前線程。%logger{36}
:輸出記錄日志的類名,最大長度為 36。%msg
:輸出日志消息。%n
:換行符。
總結(jié)
通過使用 Spring Boot 的 spring-boot-starter-logging
依賴,可以更輕松地集成 SLF4J 和 Logback,而無需擔(dān)心版本沖突或配置問題。在需要自定義日志輸出時(shí),使用 logback-spring.xml
文件進(jìn)行配置是最佳實(shí)踐。同時(shí),確保正確設(shè)置日志級(jí)別,特別是將 MyBatis 的日志級(jí)別設(shè)置為 DEBUG
,以便在開發(fā)和調(diào)試過程中能夠看到所需的 SQL 日志信息。
以上就是MyBatis-Plus使用sl4j日志打印SQL的代碼詳解的詳細(xì)內(nèi)容,更多關(guān)于MyBatis-Plus sl4j打印SQL的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- springboot下mybatis-plus如何打印sql日志和參數(shù)到日志文件
- springboot下mybatis-plus開啟打印sql日志的配置指南
- mybatis-plus開啟sql日志打印的三種方法
- Mybatis-Plus打印sql日志兩種方式
- MyBatis-Plus如何關(guān)閉SQL日志打印詳解
- mybatis-plus如何修改日志只打印SQL語句不打印查詢結(jié)果
- SpringBoot整合MyBatis和MyBatis-Plus請(qǐng)求后不打印sql日志的問題解決
- 服務(wù)性能優(yōu)化之mybatis-plus開啟與關(guān)閉SQL日志打印方法
- Mybatis-Plus通過配置在控制臺(tái)打印執(zhí)行日志的實(shí)現(xiàn)
相關(guān)文章
Java之SpringBoot集成ActiveMQ消息中間件案例講解
這篇文章主要介紹了Java之SpringBoot集成ActiveMQ消息中間件案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07Android應(yīng)用開發(fā)之將SQLite和APK一起打包的方法
這篇文章主要介紹了Android應(yīng)用開發(fā)之將SQLite和APK一起打包的方法,文章時(shí)間較早,盡管現(xiàn)在開發(fā)環(huán)境已大都遷移至Android Studio上,但打包原理依然相同,需要的朋友可以參考下2015-08-08SpringBoot打印系統(tǒng)執(zhí)行的sql語句及日志配置指南
這篇文章主要給大家介紹了關(guān)于SpringBoot打印系統(tǒng)執(zhí)行的sql語句及日志配置的相關(guān)資料,在Java SpringBoot項(xiàng)目中如果使用了Mybatis框架,默認(rèn)情況下執(zhí)行的所有SQL操作都不會(huì)打印日志,需要的朋友可以參考下2023-10-10springboot項(xiàng)目中使用Swagger的簡單示例
大趨勢(shì)下目前很多的項(xiàng)目都采用了前后端分離的方式進(jìn)行開發(fā),最近我接觸到的項(xiàng)目大多數(shù)都是采用了前后端分離的方式進(jìn)行開發(fā),下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目中使用Swagger的簡單示例,需要的朋友可以參考下2023-04-04Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼
本篇文章主要介紹了Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08Netty源碼解析NioEventLoop創(chuàng)建的構(gòu)造方法
這篇文章主要介紹了Netty源碼解析NioEventLoopGroup之NioEventLoop創(chuàng)建的構(gòu)造方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03