log4j不打印mybatis sql语句解决方案
在项目里面加入了slf4j jar包后发现控制台不打印DEBUG的MyBatis sql语句了。查了下资料后发现MyBatis内置的日志工厂提供日志功能调用日志实现类有优先级,slf4j在log4j前面,导致加入slf4j jar包后,log4j不能打印出MyBatis sql语句,MyBatis内置的日志工厂提供日志功能调用日志实现类有优先级如下:
[*]SLF4J
[*]Apache Commons Logging
[*]Log4j 2
[*]Log4j
[*]JDK logging
解决方法:
在mybatis-config.xml中配置日志功能实现。
<!-- 设置Mybatis使用LOG4J日志实现 -->
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
参考文档:Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题
页:
[1]