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

时间:2022-05-07
本文章向大家介绍MyBatis 配置输出日志,不输出SQL问题解决,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

在mybatis-config.xml配置一下

<configuration>
  <settings>

    <setting name="logImpl" value="LOG4J"/>

  </settings>
</configuration>

但项目用的是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