mybatis怎么配置log4j打印sql语句出sql语句

配置MyBatis& log4j.xml 文件后,无法在控制台输出insert,update,delete等sql语句,只显示select语句
log4j.xml配置如下:
&?xml version="1.0" encoding="UTF-8" ?&
&!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"&
&log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"&
&!-- Console output --&
&appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"&
&layout class="org.apache.log4j.PatternLayout"&
&param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss} %m
(%F:%L) \n" /&
&/appender&
&category name="java.sql"&
&priority value="debug" /&
&/category&
&category name="com.ibatis"&
&priority value="debug" /&
&/category&
&priority value="error" /&
&appender-ref ref="STDOUT" /&
&/log4j:configuration&
问题补充:你的配置文件是怎么读取的啊?我现在怀疑是没有读到log4j的配置文件
采纳的答案
直接放在src根目录下.
这是我得整个日志文件内容
# Rules reminder:
# DEBUG & INFO & WARN & ERROR & FATAL
# Global logging configuration
log4j.rootLogger=ERROR, stdout,RollingFile
# My logging configuration...
.baoku=DEBUG
log4j.logger.org.apache.ibatis=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n
#mybatis logger config
.ibatis=ERROR
log4j.logger.org.apache.ibatis.jdbc.ScriptRunner=ERROR
log4j.logger.java.sql.Connection=DEBUG
#log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG,stdout
#RollingFile
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.File=logs/new-crm.log
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
--slf4j-api-1.6.4.jar
--slf4j-log4j12-1.6.4.jar
--log4jdbc3-1.2beta2.jar
--commons-logging-1.1.1.jar
--log4j-1.2.16.jar
你试试看能不能行.
我的可以啊.看下面的配置
#mybatis logger config
.ibatis=ERROR
log4j.logger.org.apache.ibatis.jdbc.ScriptRunner=ERROR
log4j.logger.java.sql.Connection=DEBUG
#log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG,stdout
控制台输出的日志信息
12:28:21,154 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==&& Executing: INSERT INTO air_order (air_order_no,companyNo,companyName,bookerName,bookerEmail,bookerMobile,createTime) VALUES (?,?,?,?,?,?,?);
12:28:21,154 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==&& Executing: INSERT INTO air_order (air_order_no,companyNo,companyName,bookerName,bookerEmail,bookerMobile,createTime) VALUES (?,?,?,?,?,?,?);
12:28:21,155 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==& Parameters: WQF021(String), 10068(String), 测试公司(String), 测试(String), (String), (String),
12:28:21.038(Timestamp)
DEBUG
12:28:21,155 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==& Parameters: WQF021(String), 10068(String), 测试公司(String), 测试(String), (String), (String),
12:28:21.038(Timestamp)
DEBUG
12:28:21,173 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==&& Executing: INSERT INTO air_segment(FROM_CODE,TO_CODE,air_order_no) VALUES(?,?,?)
12:28:21,173 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==&& Executing: INSERT INTO air_segment(FROM_CODE,TO_CODE,air_order_no) VALUES(?,?,?)
12:28:21,173 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==& Parameters: PEK(String), SHA(String), WQF021(String)
DEBUG
12:28:21,173 org.apache.ibatis.logging.slf4j.Slf4jImpl: ==& Parameters: PEK(String), SHA(String), WQF021(String)
01.&?xml version="1.0" encoding="UTF-8" ?&
02.&!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"&
04.&log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"&
&!-- Console output --&
&appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"&
&layout class="org.apache.log4j.PatternLayout"&
&param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss} %m
(%F:%L) \n" /&
&/appender&
&category name="java.sql"&
&priority value="debug" /&
&/category&
&category name="com.ibatis"&
&priority value="debug" /&
&/category&
&priority value="error" /&
&appender-ref ref="STDOUT" /&
25.&/log4j:configuration&
嘿嘿这样就ok了。
已解决问题
未解决问题16695人阅读
spring/hibernate/ibatis(4)
log4j.rootLogger=debug, stdout, logfile
.ibatis=DEBUG
.mon.jdbc.SimpleDataSource=DEBUG
.mon.jdbc.ScriptRunner=DEBUG
.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.org.springframework=ERROR
log4j.pass=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=empi.log
log4j.appender.logfile.MaxFileSize=512KB
log4j.appender.logfile.MaxBackupIndex=3
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
&?xml version="1.0" encoding="UTF-8" ?&
&!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"&
&log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"&
&appender name="console" class="org.apache.log4j.ConsoleAppender"&&
&param name="Target" value="System.out"/&&
&layout class="org.apache.log4j.PatternLayout"&&
&param name="ConversionPattern" value="%d{MMM dd yyyy HH:mm:ss,SSS} %-5p %c - %m%n"/&&
&/layout&&
&/appender&&
&appender class="org.apache.log4j.RollingFileAppender" &
& & & & name="file"& &
& & & & &param name="File" value="ts.log" /& &
& & & & &param name="MaxFileSize" value="100KB" /& &
& & & & &param name="MaxBackupIndex" value="2" /& &
& & & & &layout class="org.apache.log4j.PatternLayout"& &
& & & & & & &param name="ConversionPattern" &
& & & & & & & & value="=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n" /& &
& & & & &/layout& &
& & &/appender& &
& &category name="net.carefx" additivity="false"&
&priority value="DEBUG"/&
&appender-ref ref="console"/&
&/category&
& & &category name="org.springframework" additivity="false"&
& & & & &priority value="ERROR"/&
& & & & &appender-ref ref="console"/&
& & &/category& & &
& & &category name="org.springframework.orm.ibatis3" additivity="false"&
& & & & &priority value="ERROR"/&
& & & & &appender-ref ref="console"/&
& & &/category&&
& & &&category name="org.apache.ibatis" additivity="false"&
& & & & &priority value="DEBUG"/&
& & & & &appender-ref ref="console"/&
& & &/category& &&
& & &&category name="java.sql" additivity="false"&
& & & & &priority value="ERROR"/&
& & & & &appender-ref ref="console"/&
& & &/category&
& & &logger name="org.mon.jdbc.SimpleDataSource"& &
& & & & &level value="debug" /& &
& & &/logger& &
& & &logger name="org.mon.jdbc.SimpleDataSource"& &
& & & & &level value="debug" /& &
& & &/logger& &
& & &logger name="org.mon.jdbc.ScriptRunner"& &
& & & & &level value="debug" /& &
& & &/logger& &
& & &logger name="org.mon.jdbc.SqlMapClientDelegate"& &
& & & & &level value="debug" /& &
& & &/logger& &
& & &logger name="java.sql.Connection"& &
& & & & &level value="debug" /& &
& & &/logger& &
& & &logger name="java.sql.Statement"& &
& & & & &level value="debug" /& &
& & &/logger& &
& & &logger name="java.sql.PreparedStatement"& &
& & & & &level value="debug" /& &
& & &/logger& &
& & &logger name="java.sql.ResultSet"& &
& & & & &level value="debug" /& &
& & &/logger& & &&
&priority value ="ERROR" /&&
&appender-ref ref="console" /&&
&/log4j:configuration&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:177511次
积分:2131
积分:2131
排名:第11002名
原创:34篇
转载:26篇
评论:27条
(3)(1)(1)(1)(1)(3)(5)(2)(1)(3)(4)(4)(1)(1)(3)(3)(10)(1)(3)(4)(2)(3)系统:WIN8.1
数据库:Oracle 11GR2
开发工具:MyEclipse 8.6
框架:Spring3.2.9、SpringMVC3.2.9、MyBatis3.2.8
1、以下jar包拷贝到lib目录下
2、在src目录下增加log4j.properties文件,内容如下
1 # Global logging configuration
2 log4j.rootLogger=ERROR, stdout
3 # log4j.logger后面跟着的是项目dao包路径,里面全部都是dao层的接口
4 log4j.logger.com.kickstarter.dao=TRACE
5 # Console output...
6 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
7 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
8 log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
配置完毕。TRACE也可以配置为DEBUG输出。
以上就介绍了SpringMVC + Spring + MyBatis 学习笔记:为MyBatis增加打印SQL功能 (最简化配置),包括了方面的内容,希望对Java教程有兴趣的朋友有所帮助。
本文网址链接:/article/detail_122843.html
电脑/手机小常识:重装Windows XP不需再激活:如果你需要重装Windows XP,通常必须重新激活。事实上只要在第一次激活时,备份好Windows\System32目录中的Wpa.dbl文件,就不用再进行激活的工作了。在重装Windows XP后,只需要复制该文件到上面的目录即可。
上一篇: 下一篇:当前位置: →
→ MyBatis中SQL语句在Log4j下不显示的问题解决
MyBatis中SQL语句在Log4j下不显示的问题解决
& 作者及来源: Shaman - 博客园 &
&收藏到→_→:
摘要: MyBatis中SQL语句在Log4j下不显示的问题解决
"MyBatis中SQL语句在Log4j下不显示的问题解决"::
尼玛 查了一个星期 终于找到问题所在了 &原来是 jar包不全
公司的一个项目中使用mybatis曾经搭建框架之初就研究过让mybatis显示查询的sql日志,但是以失败而告终。今天终于把这个东西成功弄出来了。在网上也查了好多方法,有这样写的:
log4j.logger.java.sql.resultset=info
log4j.logger.org.apache=info
log4j.logger.java.sql.connection=debug
log4j.logger.java.sql.statement=debug
log4j.logger.java.sql.preparedstatement=debug
也有这样写的:
.ibatis=debug
.mon.jdbc.simpledatasource=debug
.mon.jdbc.scriptrunner=debug
.ibatis.sqlmap.engine.impl.sqlmapclientdelegate=debug.
但我无论用哪一种写法却都不成功!mybatis官网也找了,百度也谷歌了。最后发现问题根源,项目中有slf4j的包,也在log4j的包,但是没有slf4j-log4j,于是添加如下配置:
&dependency&&&
&groupid&log4j&/groupid&&&
&artifactid&log4j&/artifactid&&&
&version&1.2.14&/version&
&/dependency&&&
&dependency&&&
&groupid&org.slf4j&/groupid&&&
&artifactid&slf4j-api&/artifactid&&&
&version&1.6.1&/version&&&
&/dependency&
&dependency&&&
&groupid&org.slf4j&/groupid&&&
&artifactid&slf4j-log4j12&/artifactid&&&
&version&1.6.1&/version&
&/dependency&
但由于项目中使用有xmemcached而xmemcached对于slf4j与slf4j-log4j的版本要求有限制,如果报错请采用如上版本。
添加好后将日志级别设置成debug则能成功打印出sql日志,但是会发现xmemcached会不停的打印debug日志,发现这种情况可以根日志级别设置成info,然后使用:
log4j.logger.java.sql.resultset=info
log4j.logger.java.sql.connection=debug
log4j.logger.java.sql.statement=debug
log4j.logger.java.sql.preparedstatement=debug
单独将sql日志级别设置成debug即可。搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
MyBatis中SQL语句在Log4j下不显示的问题解决_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜}

我要回帖

更多关于 log4j.xml配置mybatis 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信