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

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

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

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

我們再來看看org.apache.ibatis.logging.nologging.NoLoggingImpl是怎么回事?

這次我們把org.apache.ibatis.logging.nologging.NoLoggingImpl注釋,還原配置使用org.apache.ibatis.logging.stdout.StdOutImpl 配置發(fā)現(xiàn)此時又可以打印日記了,也就是說我們原先的配置org.apache.ibatis.logging.nologging.NoLoggingImpl是有效的。

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

總結(jié)
這里的org.apache.ibatis.logging.nologging.NoLoggingImpl失效與使用了PerformanceInterceptor類有關(guān),springboot啟動加載配置階段會加載PerformanceInterceptor攔截器在執(zhí)行sql時因為被PerformanceInterceptor攔截在該類內(nèi)部執(zhí)行查詢并打印從而繞過了正常的執(zhí)行sql流程。所以說有些問題直接去百度,百度回來的未必是你所說的問題,解決問題時應(yīng)該根據(jù)實際情況從源代碼動手。
到此這篇關(guān)于MyBatis-Plus如何關(guān)閉SQL日志打印的文章就介紹到這了,更多相關(guān)MyBatis-Plus關(guān)閉SQL日志打印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mybatis-plus開啟sql日志打印的三種方法
- mybatis-plus如何修改日志只打印SQL語句不打印查詢結(jié)果
- mybatis plus 開啟sql日志打印的方法小結(jié)
- 自主配置數(shù)據(jù)源,mybatis/plus不打印sql日志問題
- Mybatis-Plus打印sql日志兩種方式
- 服務(wù)性能優(yōu)化之mybatis-plus開啟與關(guān)閉SQL日志打印方法
- MyBatis Plus關(guān)閉SQL日志打印的方法
- MyBatis-Plus使用sl4j日志打印SQL的代碼詳解
- Mybatis-Plus通過配置在控制臺打印執(zhí)行日志的實現(xiàn)
- 如何使用MyBatis/MyBatis?Plus實現(xiàn)SQL日志打印與執(zhí)行監(jiān)控
- 使用MybatisPlus實現(xiàn)sql日志打印優(yōu)化
相關(guān)文章
Java?Api實現(xiàn)Elasticsearch的滾動查詢功能
這篇文章主要介紹了Java?Api實現(xiàn)Elasticsearch的滾動查詢,解決ES每次只能查詢一萬條數(shù)據(jù)的問題,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-08-08
Apache?Hudi異步Clustering部署操作的掌握
這篇文章主要介紹了Apache?Hudi異步Clustering部署操作的掌握,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-03-03
SpringBoot3+graalvm:整合并打包為可執(zhí)行文件方式
本文介紹了如何在Spring Boot 3中整合GraalVM,并將其打包為可執(zhí)行文件,適用于Windows和Linux系統(tǒng),通過安裝GraalVM、配置環(huán)境變量、下載Visual Studio組件(僅限Windows)以及使用Maven容器(適用于Linux),可以實現(xiàn)高效的打包和運行2024-12-12
java.io.EOFException產(chǎn)生原因及解決方法(附代碼)
java.io.EOFException表示在讀取數(shù)據(jù)時突然遇到了文件或流的末尾,也就是說客戶端或服務(wù)器已經(jīng)關(guān)閉了連接,但是你還在嘗試讀取數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于java.io.EOFException產(chǎn)生原因及解決的相關(guān)資料,需要的朋友可以參考下2023-09-09

