1. 程式人生 > 其它 >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> 


轉自:
https://www.cnblogs.com/duyinqiang/p/5696375.html