log4jdbc mysql jdbc_SSM中使用log4jdbc记录SQL信息

使用log4jdbc在不改变原有代码的情况下,就可以收集执行的SQL文和JDBC执行情况。

平时开发使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Developer客户端直接执行,需要自己拼凑sql。而log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在PLSQL Developer等客户端直接执行,加快调试速度。

二、log4jdbc的使用

在pom.xml中添加log4jdbc的引用

com.googlecode.log4jdbc

log4jdbc

1.2

新建log4j.properties的配置文件,内容如下所示:

log4j.logger.jdbc.sqlonly=DEBUG,console

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n

log4j.logger.jdbc.sqltiming=INFO,console

log4j.logger.jdbc.connection=INFO,console

修改mysqljdbc.properties配置文件的url和driverClassName如下

jdbc.driver=net.sf.log4jdbc.DriverSpy

#数据库地址

jdbc.url=jdbc:log4jdbc:mysql://localhost:3306/tmall_ssm?useUnicode=true&characterEncoding=utf8

#用户名

jdbc.username=root

#密码

jdbc.password=admin

#最大连接数

jdbc.maxPoolSize=30

#最小连接数

jdbc.minPoolSize=10

#关闭连接后不自动commit

jdbc.autoCommitOnClose=false

#获取连接超时时间

jdbc.checkoutTimeout=10000

#当获取连接失败重试次数

jdbc.acquireRetryAttempts=2

经过这样的配置之后,就可以使用log4jdbc记录应用系统执行的SQL信息了。

重新启动SSM程序进行测试,可以看到,log4jdbc记录出了SQL的执行的时间,执行时的参数以及执行耗时。这对于我们在开发中查找SQL错误是非常有帮助的。

c25a2f9c77eb33aae0d7dcc0afe417ab.png

本文大部分内容参考自

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值