MyBatis-Plus如何關(guān)閉SQL日志打印詳解
前言
前段時(shí)間公司的同事都過(guò)來(lái)問(wèn)我,hua哥公司的項(xiàng)目出問(wèn)題了,關(guān)閉不了打印sql日記,項(xiàng)目用寶塔自己部署的,磁盤(pán)滿(mǎn)了才發(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)閉打印日記是真的失效嗎?
直接從代碼下手,找到打印日記的類(lèi),是在PerformanceInterceptor類(lèi)發(fā)現(xiàn)打印日記的,如下圖:
找到根源了就好辦了,查看這是性能分析攔截器,只要是涉及查詢(xún),更新,插入的sql都會(huì)被攔截下來(lái)打印出來(lái)?我們順著這個(gè)類(lèi)繼續(xù)找,在springboot的配置中找到加載PerformanceInterceptor的方法如圖:
找到問(wèn)題與解決問(wèn)題
找到了加載的地方,直接注釋代碼即可,啟動(dòng)時(shí)就不再加載截了。該方法上有個(gè)Profile的注解帶有1個(gè)參數(shù)是指定只有在使用dev配置文件時(shí)才會(huì)生效,我們也可以改變這個(gè)名稱(chēng)或者項(xiàng)目用別的配置名稱(chēng)也可以起到不加載的作用。
前臺(tái)再次查詢(xún),發(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注釋?zhuān)€原配置使用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類(lèi)有關(guān),springboot啟動(dòng)加載配置階段會(huì)加載PerformanceInterceptor攔截器在執(zhí)行sql時(shí)因?yàn)楸籔erformanceInterceptor攔截在該類(lèi)內(nèi)部執(zhí)行查詢(xún)并打印從而繞過(guò)了正常的執(zhí)行sql流程。所以說(shuō)有些問(wèn)題直接去百度,百度回來(lái)的未必是你所說(shuō)的問(wèn)題,解決問(wèn)題時(shí)應(yīng)該根據(jù)實(shí)際情況從源代碼動(dòng)手。
到此這篇關(guān)于MyBatis-Plus如何關(guān)閉SQL日志打印的文章就介紹到這了,更多相關(guān)MyBatis-Plus關(guān)閉SQL日志打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot下mybatis-plus如何打印sql日志和參數(shù)到日志文件
- springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南
- mybatis-plus開(kāi)啟sql日志打印的三種方法
- Mybatis-Plus打印sql日志兩種方式
- mybatis-plus如何修改日志只打印SQL語(yǔ)句不打印查詢(xún)結(jié)果
- SpringBoot整合MyBatis和MyBatis-Plus請(qǐng)求后不打印sql日志的問(wèn)題解決
- MyBatis-Plus使用sl4j日志打印SQL的代碼詳解
- 服務(wù)性能優(yōu)化之mybatis-plus開(kāi)啟與關(guān)閉SQL日志打印方法
- Mybatis-Plus通過(guò)配置在控制臺(tái)打印執(zhí)行日志的實(shí)現(xiàn)
相關(guān)文章
java寫(xiě)卷積神經(jīng)網(wǎng)絡(luò)(CupCnn簡(jiǎn)介)
這篇文章主要介紹了java寫(xiě)卷積神經(jīng)網(wǎng)絡(luò)(CupCnn簡(jiǎn)介),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04MybatisPlus中如何調(diào)用Oracle存儲(chǔ)過(guò)程
這篇文章主要介紹了MybatisPlus中如何調(diào)用Oracle存儲(chǔ)過(guò)程的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Java concurrency集合之 CopyOnWriteArrayList_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java concurrency集合之 CopyOnWriteArrayList的相關(guān)資料,需要的朋友可以參考下2017-06-06Java使用for循環(huán)解決經(jīng)典的雞兔同籠問(wèn)題示例
這篇文章主要介紹了Java使用for循環(huán)解決經(jīng)典的雞兔同籠問(wèn)題,結(jié)合實(shí)例形式分析了Java巧妙使用流程控制語(yǔ)句for循環(huán)解決雞兔同籠問(wèn)題相關(guān)操作技巧,需要的朋友可以參考下2018-05-05詳解如何判斷Java線(xiàn)程池任務(wù)已執(zhí)行完
線(xiàn)程池的使用并不復(fù)雜,麻煩的是如何判斷線(xiàn)程池中的任務(wù)已經(jīng)全部執(zhí)行完了,所以接下來(lái),我們就來(lái)看看如何判斷線(xiàn)程中的任務(wù)是否已經(jīng)全部執(zhí)行完吧2023-08-08SpringBoot+Hibernate實(shí)現(xiàn)自定義數(shù)據(jù)驗(yàn)證及異常處理
這篇文章主要為大家介紹了SpringBoot如何整合Hibernate自定義數(shù)據(jù)驗(yàn)證及多種方式異常處理,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-04-04SpringFramework中的數(shù)據(jù)校驗(yàn)方式
這篇文章主要介紹了SpringFramework中的數(shù)據(jù)校驗(yàn)方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-12-12Java項(xiàng)目在Idea中開(kāi)發(fā)遇到所有代碼爆紅的問(wèn)題與解決辦法
今天打開(kāi)項(xiàng)目時(shí)發(fā)現(xiàn)idea竟然爆紅,通過(guò)查找相關(guān)資料用于解決,下面這篇文章主要給大家介紹了關(guān)于Java項(xiàng)目在Idea中開(kāi)發(fā)遇到所有代碼爆紅的問(wèn)題與解決辦法的相關(guān)資料,需要的朋友可以參考下2023-06-06SpringBoot JWT實(shí)現(xiàn)token登錄刷新功能
JWT本身是無(wú)狀態(tài)的,這點(diǎn)有別于傳統(tǒng)的session,不在服務(wù)端存儲(chǔ)憑證。這種特性使其在分布式場(chǎng)景,更便于擴(kuò)展使用。接下來(lái)通過(guò)本文給大家分享SpringBoot JWT實(shí)現(xiàn)token登錄刷新功能,感興趣的朋友一起看看吧2021-09-09Java使用RedisTemplate如何根據(jù)前綴獲取key列表
這篇文章主要介紹了Java使用RedisTemplate如何根據(jù)前綴獲取key列表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06