欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

logback打印多次mybatis的sql日志問題

 更新時(shí)間:2023年09月22日 11:09:07   作者:YoungMirror  
這篇文章主要介紹了logback打印多次mybatis的sql日志問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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í)行查詢是,打斷點(diǎn),最終進(jìn)入Logger中的for打印日志

通過源碼可以發(fā)現(xiàn),若是沒有配置additive屬性,或是熟悉為true,會(huì)繼續(xù)調(diào)用父類(此處為root節(jié)點(diǎn))打印日志,故出現(xiàn)多次日志。

logback打印mybatis sql日志

近期在項(xiàng)目中調(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)過資料查找與測(cè)試,什么在mybatis的配置文件增加<setting name="logPrefix"/> <setting name="logImpl"/> 統(tǒng)統(tǒng)不好使。

后來測(cè)試在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é)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • javaweb圖書商城設(shè)計(jì)之用戶模塊(1)

    javaweb圖書商城設(shè)計(jì)之用戶模塊(1)

    這篇文章主要介紹了javaweb圖書商城設(shè)計(jì)之用戶模塊的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Java?中的整型數(shù)據(jù)類型((byte,?short,?int,?long?)的取值范圍及使用不同的整型的場(chǎng)景分析

    Java?中的整型數(shù)據(jù)類型((byte,?short,?int,?long?)的取值范圍及使用不同的整型的場(chǎng)景

    Java中的整型數(shù)據(jù)類型包括byte、short、int和long,每種類型都有不同的內(nèi)存占用和取值范圍,選擇合適的整型類型取決于具體需求,如內(nèi)存敏感場(chǎng)景、性能考量和避免整數(shù)溢出,示例代碼展示了如何聲明和初始化不同整型變量,并打印它們的最大值,感興趣的朋友一起看看吧
    2025-03-03
  • SpringBoot?整合ChatGPT?API項(xiàng)目實(shí)戰(zhàn)教程

    SpringBoot?整合ChatGPT?API項(xiàng)目實(shí)戰(zhàn)教程

    這篇文章主要介紹了SpringBoot整合ChatGPT API項(xiàng)目實(shí)戰(zhàn)教程,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • MyBatis3傳遞多個(gè)參數(shù)(Multiple Parameters)

    MyBatis3傳遞多個(gè)參數(shù)(Multiple Parameters)

    這篇文章主要介紹了MyBatis3傳遞多個(gè)參數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java中的?HTTP?協(xié)議原理詳解

    Java中的?HTTP?協(xié)議原理詳解

    這篇文章主要介紹了Java中的?HTTP?協(xié)議原理詳解,HTTP超文本傳輸協(xié)議,下文簡(jiǎn)稱?HTTP,它的作用是用于實(shí)現(xiàn)服務(wù)器端和客戶端的數(shù)據(jù)傳輸?shù)?/div> 2022-07-07
  • kafka內(nèi)外網(wǎng)訪問配置方式

    kafka內(nèi)外網(wǎng)訪問配置方式

    這篇文章主要介紹了kafka內(nèi)外網(wǎng)訪問配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • maven 環(huán)境變量的配置詳解

    maven 環(huán)境變量的配置詳解

    這篇文章主要介紹了maven 環(huán)境變量的配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java使用@Transactional時(shí)常犯的N種錯(cuò)誤

    java使用@Transactional時(shí)常犯的N種錯(cuò)誤

    @Transactional是我們?cè)谟肧pring時(shí)候幾乎逃不掉的一個(gè)注解,本文主要介紹了使用?@Transactional?時(shí)常犯的N種錯(cuò)誤,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 多個(gè)JDK版本(Java 8、Java 17、Java 21)下載和切換

    多個(gè)JDK版本(Java 8、Java 17、Java 21)下載和切換

    為了在實(shí)際中可以任意選擇所需的JDK版本,需要將多個(gè)JDK版本進(jìn)行切換,本文主要介紹了多個(gè)JDK版本(Java 8、Java 17、Java 21)下載和切換,感興趣的可以了解一下
    2025-04-04
  • Java線程啟動(dòng)為什么要用start()而不是run()?

    Java線程啟動(dòng)為什么要用start()而不是run()?

    這篇文章主要介紹了線程啟動(dòng)為什么要用start()而不是run()?下面文章圍繞start()與run()的相關(guān)資料展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,西藥的小火熬版可以參考一下,希望對(duì)你有所幫助
    2021-12-12

最新評(píng)論