logback打印多次mybatis的sql日志問題
logback打印多次mybatis的sql日志
配置:logback配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${console.log.pattern}</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<logger name="cn.ucmed.yijiao.base.mapper" level="DEBUG" additivity="true">
<appender-ref ref="console"/>
</logger>
<!--系統(tǒng)操作日志-->
<root level="info">
<appender-ref ref="console" />
</root>
</configuration>解決方法
在xml文件中,將additivity屬性改為false
源碼解析
在mapper執(zhí)行查詢是,打斷點,最終進入Logger中的for打印日志

通過源碼可以發(fā)現(xiàn),若是沒有配置additive屬性,或是熟悉為true,會繼續(xù)調(diào)用父類(此處為root節(jié)點)打印日志,故出現(xiàn)多次日志。
logback打印mybatis sql日志
近期在項目中調(diào)試sql,發(fā)現(xiàn)現(xiàn)有的配置 使用logback 無法打印出sql語句,原配置如下(修改為debug也不好使):
<!--jdbc --> <logger name="java.sql.Connection" level="ERROR" /> <logger name="java.sql.PreparedStatement" level="ERROR" /> <logger name="org.apache.zookeeper" level="ERROR" />
經(jīng)過資料查找與測試,什么在mybatis的配置文件增加<setting name="logPrefix"/> <setting name="logImpl"/> 統(tǒng)統(tǒng)不好使。
后來測試在logback.xml 中增加如下配置,打開Debug日志輸出。
其中name="com.x.x.dao.XxxDao" 為mybatis DAO接口包路徑
<logger name="com.x.x.dao.XxxDao" level="DEBUG" />
結(jié)果輸出如下, Preparing 為原sql, Parameters 為可變參數(shù):
==> Preparing: select order_id, order_code, org_remark, add_payment, activity_id, evaluate_score FROM tc_order WHERE 1=1 and category =? and order_status = ? and start_date <=? and third_order_id = ?
2017-06-07 14:30:02,679 [executor-1] DEBUG com.xx.xx.dop2c.order.ext.TcOrderExtDao.queryForQueue - 47 - ==> Parameters: 253(Long), 30(Integer), 2017-06-07 14:30:02(String), 0(String)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Assert.assertEquals報錯的問題及解決
這篇文章主要介紹了關(guān)于Assert.assertEquals報錯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
Java中HttpServletResponse響應(yīng)中文出現(xiàn)亂碼問題
這篇文章主要介紹了Java中HttpServletResponse響應(yīng)中文出現(xiàn)亂碼問題的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06
使用ElasticSearch6.0快速實現(xiàn)全文搜索功能的示例代碼
本篇文章主要介紹了使用ElasticSearch6.0快速實現(xiàn)全文搜索功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02

