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日志输出问题 - 以及有关日志的所有问题

相关推荐