springboot 配置日志 打印不出來sql的解決方法
今天整合springboot2 + mybatis + logback 遇到了在日志中sql打印不出來的坑,在網(wǎng)上找了好久,都不是我遇到的問題,這里吐槽一下下現(xiàn)在的博客質(zhì)量,好多都是抄襲的,也沒有標(biāo)注轉(zhuǎn)載。先說下要將sql打印到日志的配置
1、在mybatis.xml配置中增加以下配置
<!--指定 MyBatis 增加到日志名稱的前綴。--> <setting name='logPrefix' value='m-shop-mybatis-sql.' /> <!--指定 MyBatis 所用日志的具體實現(xiàn),未指定時將自動查找。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING--> <setting name='logImpl' value='SLF4J' />
注:這里注意下logPrefix的value需要帶“.”2、在logback-spring中增加如下配置
<logger name='m-shop-mybatis-sql' level='debug'></logger>
注:這里的name屬性需要與mybatis文件中l(wèi)ogPrefix的值對應(yīng),但這里不帶“.”
那么這里說我遇到的問題吧,以下是我的logback中部分配置
<!--將日志輸出到控制臺--><appender name='CONSOLE' class='ch.qos.logback.core.ConsoleAppender'> <filter class='ch.qos.logback.classic.filter.ThresholdFilter'> <level>info</level> </filter> <encoder class='ch.qos.logback.classic.encoder.PatternLayoutEncoder'> <!--打印格式--> <pattern>${LOG_FORMAT}</pattern> <!-- 設(shè)置字符集 --> <charset>${ENCODING}</charset> </encoder></appender><logger name='m-shop-mybatis-sql' level='debug'></logger><springProfile name='dev,test'> <!-- 日志輸出級別 --> <root level='info'> <appender-ref ref='CONSOLE' /> </root></springProfile><springProfile name='prod'> <!-- 日志輸出級別 --> <root level='info'> <appender-ref ref='FILE' /> </root></springProfile>
這是我最開始的配置,就是打印不出sql來,最后找到問題,是因為級別的原因。解決方法
將這里的info改為debug,就可以打印出來了。
解釋下原因:
我使用的是dev,日志打印級別為info,設(shè)置logger為mybatis的打印級別為debug,雖然info級別大于debug,但是有l(wèi)ogger 在應(yīng)該是可以打印出來的,但是我在CONSOLE的中也配置了級別為info,這里的設(shè)置會攔截logger設(shè)置的級別。
最后在說下sql打印在控制臺的區(qū)別:
以上第一張圖是mybatis自己設(shè)置打印在控制臺的,第二張圖是mybatis打印在logback日志中,logback打印在控制臺的。
以上就是springboot 配置日志 打印不出來sql的解決方法的詳細(xì)內(nèi)容,更多關(guān)于springboot 打印不出sql的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Echarts通過dataset數(shù)據(jù)集實現(xiàn)創(chuàng)建單軸散點(diǎn)圖2. 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實現(xiàn)方法3. css進(jìn)階學(xué)習(xí) 選擇符4. 阿里前端開發(fā)中的規(guī)范要求5. 解析原生JS getComputedStyle6. PHP字符串前后字符或空格刪除方法介紹7. XML入門的常見問題(一)8. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達(dá)式9. html小技巧之td,div標(biāo)簽里內(nèi)容不換行10. Laravel操作session和cookie的教程詳解
