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