mybatis整合log4j打印sql語句

背景:在對mybatis的mapper接口進(jìn)行調(diào)試時,希望能夠打印執(zhí)行的sql語句

查閱mybatis官方文檔關(guān)于Logging的一節(jié),可以知道m(xù)ybatis支持多個日志框架:

Mybatis 內(nèi)置的日志工廠提供日志功能,具體的日志實現(xiàn)有以下幾種方式:
? SLF4J
? Apache Commons Logging
? Log4J
? JDK logging
具體選擇哪個日志實現(xiàn)由 MyBatis 的內(nèi)置日志工廠確定。它會使用最先找到的(按上文列舉的順序查
找)。 如果一個都未找到,日志功能就會被禁用。 

關(guān)注2點:支持類型和優(yōu)先級,比如應(yīng)用的classpath種有Commons Loggin時,會忽略Log4J的配置,這時候需要調(diào)用(根據(jù)需要使用的日志框架)下面的某個方法:

org.apache.ibatis.logging.LogFactory.useSlf4jLogging();
org.apache.ibatis.logging.LogFactory.useLog4JLogging();
org.apache.ibatis.logging.LogFactory.useJdkLogging();
org.apache.ibatis.logging.LogFactory.useCommonsLogging();
org.apache.ibatis.logging.LogFactory.useStdOutLogging

同時mybatis提供了配置的方式去解決優(yōu)先級的問題,如果需要使用Log4J框架,可以在mybatis的配置文件的settings節(jié)點下中增加如下配置:

   <setting name="logImpl" value="LOG4J"></setting>

logImpl的有效值:

上面是官方文檔對mybatis的Logging介紹,下面是實際的操作步驟:
1.首先你需要下載log4j的jar包并將其放在項目的lib目錄下,如果是maven項目,直接pom中增加對log4j的依賴即可

2.增加log4j配置文件log4j.xml到classpath目錄下


3.log4j.xml中需要有控制臺輸出的appender配置:

<!-- 輸出日志到控制臺  ConsoleAppender -->
    <appender name="STDOUT"
              class="org.apache.log4j.ConsoleAppender">
        <param name="Threshold" value="debug"></param>
        <layout class="org.apache.log4j.TTCCLayout">
            <param name="ConversionPattern" value="TTCCLayout"></param>
        </layout>
    </appender>

2.增加需要記錄日志的mapper類對應(yīng)logger配置:

<logger name="dnsdatabase.db.mapper.TrecordMapper">
        <level value="debug"></level>
        <appender-ref ref="STDOUT"></appender-ref>
</logger>

看看效果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 6,239評論 0 4
  • 使用Mybatis的時候,有些時候能輸出(主要是指sql,參數(shù),結(jié)果)日志。有些時候就不能。 無法輸出日志的時候,...
    vivicat閱讀 1,390評論 0 3
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評論 6 342
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計分析...
    時待吾閱讀 5,217評論 1 13
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計分析...
    時待吾閱讀 5,159評論 0 6

友情鏈接更多精彩內(nèi)容