MyBatis 配置输出日志,不输出SQL问题解决

项目用的是Log4j2, xml文件已经配置好了,Web项目可以显示Sql,但是TestCase不能显示。

MyBatis的默认输出顺序是
SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING

在mybatis-config.xml配置一下


  

    

  

但项目用的是MyBatis3的注释方式,没有XML,本来想在配置文件中构建Configuration

但sessionConfiguration.setLogImpl(); 的参数需要继承org.apache.ibatis.logging.Log,fxxk

//  public Environment environment(){
//      if(MyBatisTestConfig.environment==null) {
//          synchronized (MyBatisTestConfig.class) {
//              if (MyBatisTestConfig.environment == null) {
//                  Environment environment = new Environment("development", transactionFactory, ds);
//                  org.apache.ibatis.session.Configuration sessionConfiguration = new org.apache.ibatis.session.Configuration(environment);
//                  org.apache.ibatis.logging.LogFactory.useLog4J2Logging();
//                  sessionConfiguration.setLogImpl();
//
//              }
//
//          }
//      }
//      return MyBatisTestConfig.environment;
//  }

最后发现使用这句就可以了

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();  

参考文档:
http://www.mybatis.org/mybatis-3/zh/logging.html
http://blog.csdn.net/isea533/article/details/22931341
https://my.oschina.net/pingpangkuangmo/blog/410224
http://www.mybatis.org/mybatis-3/zh/logging.html
http://www.ityouknow.com/springboot/2016/11/06/springboot(%E5%85%AD)-%E5%A6%82%E4%BD%95%E4%BC%98%E9%9B%85%E7%9A%84%E4%BD%BF%E7%94%A8mybatis.html

你可能感兴趣的:(MyBatis 配置输出日志,不输出SQL问题解决)