zoukankan      html  css  js  c++  java
  • 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> 
  • 相关阅读:
    Swoole 协程使用示例及协程优先级
    Swoole 协程简介
    Laravel Redis分布式锁的使用
    Laravel Redis分布式锁实现源码分析
    Swoole 中使用异步任务
    runtime相关面试
    oc笔试题
    属性关键字面试题
    KVC面试题
    KVO面试题
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/5696374.html
Copyright © 2011-2022 走看看