MyBatis Plus關(guān)閉SQL日志打印的方法
前段時(shí)間公司的同事都過(guò)來(lái)問(wèn)我,hua哥公司的項(xiàng)目出問(wèn)題了,關(guān)閉不了打印sql日記,項(xiàng)目用寶塔自己部署的,磁盤滿了才發(fā)現(xiàn)大量的打印sql日記,他們百度過(guò)都按照網(wǎng)上的配置修改過(guò)不起作用,而且在調(diào)試時(shí)候也及為不方便,大量的紅色sql日記輸出找不著北。
MyBatis-Plus配置關(guān)閉打印SQL日記失效
百度了一圈,基本上都是說(shuō)配置 org.apache.ibatis.logging.nologging.NoLoggingImpl,配置依然存在打印日記,如下圖:

看到上圖的配置和打印出來(lái)的日記就說(shuō)失效了?
追本溯源,關(guān)閉打印日記是真的失效嗎?
直接從代碼下手,找到打印日記的類,是在PerformanceInterceptor類發(fā)現(xiàn)打印日記的,如下圖:

找到根源了就好辦了,查看這是性能分析攔截器,只要是涉及查詢,更新,插入的sql都會(huì)被攔截下來(lái)打印出來(lái)?我們順著這個(gè)類繼續(xù)找,在springboot的配置中找到加載PerformanceInterceptor的方法如圖:

找到問(wèn)題與解決問(wèn)題
找到了加載的地方,直接注釋代碼即可,啟動(dòng)時(shí)就不再加載截了。該方法上有個(gè)Profile的注解帶有1個(gè)參數(shù)是指定只有在使用dev配置文件時(shí)才會(huì)生效,我們也可以改變這個(gè)名稱或者項(xiàng)目用別的配置名稱也可以起到不加載的作用。
前臺(tái)再次查詢,發(fā)現(xiàn)后臺(tái)沒(méi)有也沒(méi)有打印sql日記了 ,這次正常了。

我們?cè)賮?lái)看看org.apache.ibatis.logging.nologging.NoLoggingImpl是怎么回事?

這次我們把org.apache.ibatis.logging.nologging.NoLoggingImpl注釋,還原配置使用org.apache.ibatis.logging.stdout.StdOutImpl 配置發(fā)現(xiàn)此時(shí)又可以打印日記了,也就是說(shuō)我們?cè)鹊呐渲胦rg.apache.ibatis.logging.nologging.NoLoggingImpl是有效的。

定位打印代碼,這里打印用的是System.out.println(s)是白色的,而上面打印用System.err.println(S)是紅色的。

總結(jié)
這里的org.apache.ibatis.logging.nologging.NoLoggingImpl失效與使用了PerformanceInterceptor類有關(guān),springboot啟動(dòng)加載配置階段會(huì)加載PerformanceInterceptor攔截器在執(zhí)行sql時(shí)因?yàn)楸籔erformanceInterceptor攔截在該類內(nèi)部執(zhí)行查詢并打印從而繞過(guò)了正常的執(zhí)行sql流程。所以說(shuō)有些問(wèn)題直接去百度,百度回來(lái)的未必是你所說(shuō)的問(wèn)題,解決問(wèn)題時(shí)應(yīng)該根據(jù)實(shí)際情況從源代碼動(dòng)手。
以上就是MyBatis Plus關(guān)閉SQL日志打印的方法的詳細(xì)內(nèi)容,更多關(guān)于MyBatis Plus關(guān)閉SQL打印的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- mybatis-plus開(kāi)啟sql日志打印的三種方法
- mybatis-plus如何修改日志只打印SQL語(yǔ)句不打印查詢結(jié)果
- mybatis plus 開(kāi)啟sql日志打印的方法小結(jié)
- 自主配置數(shù)據(jù)源,mybatis/plus不打印sql日志問(wèn)題
- Mybatis-Plus打印sql日志兩種方式
- 服務(wù)性能優(yōu)化之mybatis-plus開(kāi)啟與關(guān)閉SQL日志打印方法
- MyBatis-Plus如何關(guān)閉SQL日志打印詳解
- MyBatis-Plus使用sl4j日志打印SQL的代碼詳解
- Mybatis-Plus通過(guò)配置在控制臺(tái)打印執(zhí)行日志的實(shí)現(xiàn)
- 如何使用MyBatis/MyBatis?Plus實(shí)現(xiàn)SQL日志打印與執(zhí)行監(jiān)控
- 使用MybatisPlus實(shí)現(xiàn)sql日志打印優(yōu)化
相關(guān)文章
MyBatis-Plus實(shí)現(xiàn)公共字段自動(dòng)填充功能詳解
在開(kāi)發(fā)中經(jīng)常遇到多個(gè)實(shí)體類有共同的屬性字段,這些字段屬于公共字段,也就是很多表中都有這些字段,能不能對(duì)于這些公共字段在某個(gè)地方統(tǒng)一處理,來(lái)簡(jiǎn)化開(kāi)發(fā)呢?MyBatis-Plus就提供了這一功能,本文就來(lái)為大家詳細(xì)講講2022-08-08
Java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)版ATM系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)版ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Java內(nèi)存之happens-before和重排序
在JMM(Java內(nèi)存模型)中,如果一個(gè)操作執(zhí)行的結(jié)果需要對(duì)另一個(gè)操作可見(jiàn),那么這兩個(gè)操作之間必須存在happens-before關(guān)系。下面小編來(lái)簡(jiǎn)單介紹一下2019-05-05
Mybatis-Plus實(shí)現(xiàn)公共字段自動(dòng)賦值的方法
這篇文章主要介紹了Mybatis-Plus實(shí)現(xiàn)公共字段自動(dòng)賦值的方法,涉及到通用字段自動(dòng)填充的最佳實(shí)踐總結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
spring boot配置讀寫分離的完整實(shí)現(xiàn)步驟
數(shù)據(jù)庫(kù)配置主從之后,如何在代碼層面實(shí)現(xiàn)讀寫分離?所以下面這篇文章主要給大家介紹了關(guān)于spring boot配置讀寫分離的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2018-09-09
談?wù)凷pring Boot 數(shù)據(jù)源加載及其多數(shù)據(jù)源簡(jiǎn)單實(shí)現(xiàn)(小結(jié))
這篇文章主要介紹了談?wù)凷pring Boot 數(shù)據(jù)源加載及其多數(shù)據(jù)源簡(jiǎn)單實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
springboot中的@value取不到正確的值問(wèn)題
這篇文章主要介紹了springboot中的@value取不到正確的值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
關(guān)于idea中Java Web項(xiàng)目的訪問(wèn)路徑問(wèn)題
這篇文章主要介紹了idea中Java Web項(xiàng)目的訪問(wèn)路徑問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

