色魔王子7 发表于 2016-11-25 08:44:09

Mybatis控制台输出SQL问题

  Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种方式: 

[*]SLF4J
[*]Apache Commons Logging
[*]Log4j 2
[*]Log4j
[*]JDK logging 
具体选择哪个日志实现由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。
不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现。
记住这点非常重要。这意味着,在诸如 WebSphere的环境中——WebSphere提供了Commons Logging的私有实现,你的Log4J配置将被忽略。
这种做法不免让人悲摧,MyBatis怎么能忽略你的配置呢?事实上,因Commons Logging已经存 在,按优先级Log4J自然就被忽略了!
解决办法:
在mybatis-config.xml配置文件中:
  
<configuration>
<settings> 
<!-- 让mybatis不使用自己的slf4j日志功能、使用log4j输出日志 -->
        <setting name="logImpl" value="LOG4J"/> 
 </settings>
</configuration>
页: [1]
查看完整版本: Mybatis控制台输出SQL问题