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>
1.mybatis-config.xml的设定 关于logimpl的设定值还不支持logback,如果用SLF4J是不好用的。 这是官方文档的描述,见下图 设定改为STDOUT_LOGGING是可以显示sql的 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的设定
mybatis用logback日志不显示sql的解决方法 1.mybatis-config.xml的设定 关于logimpl的设定值还不支持logback,如果用SLF4J是不好用的。 这是官方文档的描述,见下图 设定改为STDOUT_LOGGING是可以显示sql的 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的设定
经验分享 程序员 微信小程序 职场和发展