• mybatis用logback日志不显示sql的解决办法


    mybatis用logback日志不显示sql的解决方法

    1.mybatis-config.xml的设定

    关于logimpl的设定值还不支持logback,如果用SLF4J是不好用的。

    这是官方文档的描述,见下图

     

     

    设定改为STDOUT_LOGGING是可以显示sql的

    	<settings>
    		<setting name="logImpl" value="STDOUT_LOGGING" />
    	</settings>

     

    2.原因是:

    mybatis源代码BaseExceutor.java

      protected Connection getConnection(Log statementLog) throws SQLException {
        Connection connection = transaction.getConnection();
        if (statementLog.isDebugEnabled()) {
          return ConnectionLogger.newInstance(connection, statementLog);
        } else {
          return connection;
        }
      }

     如果设定了

    STDOUT_LOGGING

      实现类是StdOutImpl.java

      public boolean isDebugEnabled() {
        return true;
      }

     debug就开启了,log就可以打印sql了

     

    3.logback.xml的设定

        <logger name="org.apache.ibatis" level="DEBUG">
    		<appender-ref ref="STDOUT"/>
    	</logger>
    	
    	<logger name="java.sql" level="debug">
    	    <appender-ref ref="STDOUT"/>
    	</logger> 
  • 相关阅读:
    单词 统计
    第十周学习记录
    梦断代码阅读笔记03
    梦断代码阅读笔记02
    梦断代码阅读笔记01
    用户模板和用户场景
    第九周学习记录
    分享好友-分享朋友圈
    生命周期函数-页面刷新
    底部导航的设置
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/5696374.html
Copyright © 2020-2023  润新知