设为首页 收藏本站
查看: 1396|回复: 0

[经验分享] mybatis配置log4j控制台打印SQL语句

[复制链接]
发表于 2016-11-27 06:55:37 | 显示全部楼层 |阅读模式
  不尿性,直接入题:
  SpringMVC + Mybatis 中 通过log4j向控制台打印SQL语句--->失败!!
  上配置:

#########################################################################
#Root Logger
#log4j.rootLogger = [ level ] , appenderName, appenderName,
#ConversionPattern:%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n  
#FilePath =  /opt/uploads/maven_logs/maven_web.log
#########################################################################
#将Mybatis log4j运行级别调到DEBUG可以在控制台打印出Mybatis运行的sql语句
log4j.rootLogger=DEBUG,Console,File
### 把日志信息输出到控制台 ###
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n
### 把日志信息输出到文件:/opt/uploads/maven_logs/maven_web.log ###
log4j.appender.File = org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File = /opt/uploads/maven_logs/maven_web.log
log4j.appender.File.Threshold = DEBUG
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n
###显示SQL语句部分
log4j.logger.com.mybatis=DEBUG
log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

  各位看官,我这番配置是没问题吧?
  但是在控制台SQL死活不出来。上网search...
  很多很多,看的我眼花缭乱,像什么配置不通(此处槽点,我只是SQL语句打印不出来,其他一切正常,因此忽略)、需要slf4j-api-1.6.1.jar和slf4j-log4j12.-1.6.1.jar (maven库中有,忽略!),然后就是在网上找别人的配置,但是并没有什么卵用!
  我急啊!
  直接去mybatis文档查,兴许会有关于log的......
  功夫不负有心人,果然有!摘抄一段:

Logging
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还会这么玩啊!搞死我了。但是文档中并有直接说明如何通过修改配置文件实现,但是这个文档提供了对log4j的详细配置,值得看一下。文档中说了一大堆代码实现的,不喜欢这种。既然给了思路了是mybatis搞的鬼, 那就继续上网找资料...
  终于,碰到了好心人,解了我的惑!
  好心人链接中有,我这儿在赘述一遍:
  在mybatis-config.xml配置文件中:

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties>
<property name="dialect" value="mysql" />
</properties>
<settings>
<setting name="logImpl" value="LOG4J" />  
</settings>
</configuration>  
  重要的是:

<setting name="logImpl" value="LOG4J" />
  在mybatis的配置文件中:setting节点里配置的值会直接改写Configuration对应的变量值,这些变量描述的是Mybatis的全局运行方式,如果对这些属性的含义不熟悉的话建议不要配置,使用默认值即可。
  具体的各位看官,自行查找资料,此处不做过多赘述...
  OK!
  技能get DSC0000.gif !
  解决了!!。。。世界和平了, 阿门。。。先写到这...头昏脑涨的

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-305891-1-1.html 上篇帖子: Mybatis解决属性名与字段名不一致 下篇帖子: Struts2,MyBatis,Spring整合简易教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表