雖然說列印日誌會影響效能,但是有時候查問題不沒有sql日誌,很蛋疼,不知道傳入的是什麼值,查了什麼資料,走了什麼邏輯。
1、在mybatis的配置檔案中增加setting
2、在logback中增加配置
但是原文中的原始碼解釋並沒有看懂。後面找個時間學習一下logback以及這部分原始碼
還有部分說法說這樣子並不能實現(但是我確實可以),等到碰見的時候再紀錄
2017-08-26更新
週末抽空學習了下logback配置的知識,相關部落格見:
然後總算知道為什麼上面這麼配置就可以了。
根據鏈結中的原始碼,可以知道mybatis在列印日誌的時候,會以logprefix+id的形式作為logger的name,但是我們logback的配置檔案中並沒有這個logger,這時候logge***ctory會把logger乙個個分解出來。
例子:1、org.zeng.test.demo,會按照org,org.zeng,org.zeng.test,org.zeng.test.demo的方式去查logback中logger標籤的name。
如果實在找不到,就會以root為parent直接複製乙個,維護到childrenlist中
2、因此的所有mybatis的logger的name都是dao.1,dao.2這種格式,根據logback中配置的
自然就會被列印出去了。
注:此方法經過測試,只在控制台中會列印sql日誌,在log檔案中並不存在
Mybatis列印sql日誌
在 mybatis 配置檔案 mybatis config.xml 裡面新增一項 setting 來選擇其它日誌實現,可選的值有 slf4j log4j log4j2 jdk logging commons logging stdout logging no logging,或者是實現了 org.a...
mybatis列印sql語句
網上說mybatis的早前版本配置列印sql還比較簡單,在3.0.6之後配置方式修改了。現在的spring mybatis.xml配置如下 不錯,列印sql只需要加乙個setting就可以了。mybatis的日誌列印方式比較多,slf4j log4j log4j2 jdk logging commo...
mybatis輸出日誌
想設定mybatis輸出sql語句來除錯,但又懶得看它的原始碼來獲得如何輸出sql日誌,於是網上搜,試啊試,沒乙個靠譜的。只能看原始碼了。因為mybatis是乙個開源的框架,因此的它的日誌不能硬編碼成log4j之類的具體日誌框架,鬼知道你到底用不用log4j,所以mybatis預設用的日誌門面框架s...