servlet打印mysql语句log4_mybatis结合log4j打印SQL日志

这篇博客介绍了如何通过log4jdbc-log4j2库结合log4j配置,实现MyBatis在Servlet环境中打印详细的SQL调试信息。包括在pom.xml中添加依赖,配置log4jdbc.log4j2.properties和log4j.properties文件,以及调整日志级别以显示SQL语句。同时提到了在某些日志级别下可能无法显示SQL表中的字符串,并给出了精简日志输出的配置示例。
摘要由CSDN通过智能技术生成

默认的mybatis不能打印出SQL日志,不便于查看调试,须要结合log4jdbc-log4j2就能够完整的输入SQL的调试信息。

pom.xml 配置maven。注意以下3个都须要

org.bgee.log4jdbc-log4j2

log4jdbc-log4j2-jdbc4.1

1.16

org.slf4j

slf4j-api

1.7.13

org.slf4j

slf4j-log4j12

1.7.13

2.配置信息

log4jdbc.log4j2.prppertieslog4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4j.prpperties### 设置Logger输出级别和输出目的地 ### debug更具体,假设设为info那么打印出的表数据遇到字符串就不显示。此外还有logfile

log4j.rootLogger=debug,stdout

### 把日志信息输出到控制台 ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#log4j.appender.stdout.Target=System.err

log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

### 把日志信息输出到文件:jbit.log ###

#log4j.appender.logfile=org.apache.log4j.FileAppender

#log4j.appender.logfile.File=jbit.log

#log4j.appender.logfile.layout=org.apache.log4j.PatternLayout

#log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %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

#log4j.logger.java.sql.ResultSet=DEBUG

配置文件摆放位置:

ce23eda10d57deacdddd68035926788e.png

改动myBatis配置文件

MySQL

SQLserver

-->

运行SQL输出SQL

b6f6ee54d8fb6837a827633723ea5cef.png

Center

须要注意

假设配置log4j.rootLogger=info,Console就不会输出SQL表里的字符串,必须是log4j.rootLogger=DEBUG,Console才干够

b4e6a77daa9bdcd12770621ad26911e1.png

3.定制化精简日志

887a615c59371f01d332071d069b0b9b.png

如图所看到的打印的日志太多了,假设不须要的话非常easy把不须要的日志包配置到log4j.logger.后就可以。log4j.logger.org.springframework=error

以下是一个仅仅输出SQL和表数据的最精简的配置:log4j.rootLogger=DEBUG,Console

#Console

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 [%t] %-5p [%c] - %m%n

log4j.logger.org.apache=ERROR

log4j.logger.org.mybatis=ERROR

log4j.logger.org.springframework=ERROR

#这个须要

log4j.logger.log4jdbc.debug=ERROR

log4j.logger.com.gk.mapper=ERROR

log4j.logger.jdbc.audit=ERROR

log4j.logger.jdbc.resultset=ERROR

#这个打印SQL语句非常重要

log4j.logger.jdbc.sqlonly=DEBUG

log4j.logger.jdbc.sqltiming=ERROR

log4j.logger.jdbc.connection=FATAL

dda90e874a1bf26dae215e8e89cb6bdc.png

參考:log4jdbc-log4j2配置简记

logback + log4jdbc-log4j2 输出 jpa sql 參数实际value

http://blog.sina.com.cn/s/blog_5bba80460102vagg.html

http://blog.csdn.net/blueheart20/article/details/26471019

http://blog.csdn.net/zht666/article/details/7869624

http://zhenggm.iteye.com/blog/1289455

http://blog.sina.com.cn/s/blog_42971b9e0100p6ua.html netbeans配置tomcat须要验证username口令。Tomcat Manager Application

http://blog.csdn.net/ycpanda/article/details/39769737

http://www.cnblogs.com/xdp-gacl/p/4081848.html

4.直接调试出SQL语句

直接在MyBatis里打断点调试出须要看的SQL

SimpleExecutor这个类以下

7bb07b4ce05a5e281454b6692e3ba964.png

mybatis结合log4j打印SQL日志

标签:err   查看   注意   mon   logs   mave   file   pid   cti

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/zhchoutai/p/7252184.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值