jdbc访问mysql日志_log4jdbc记录全部SQL日志

log4jdbc 是工作在jdbc层的一个日志框架,能够记录SQL及数据库连接执行信息。

一般的SQL日志会把具体的参数值用?代替,有时候很不方便,log4jdbc则会记录数据库执行的完整SQL字符串,在数据库应用开发调试阶段非常有用。

log4jdbc具有以下特性:

•支持JDBC3和JDBC4。

•支持现有大部分JDBC驱动。

•易于配置(在大部分情况下,只需要改变驱动类名并在jdbc url前加上”jdbc:log4“,设置好日志输出级别)。

•能够自动把SQL变量值加到SQL输出日志中,改进易读性和方便调试。

•能够快速标识出应用程序中执行比较慢的SQL语句。

•能够生成SQL连接数信息帮助识别连接池/线程问题。

只需操作一下三步即可显示全部SQL日志

1.导入相关JAR包

选择日志包,版本自己选择

log4j-1.2.15.jar   (下载地址:http://www.apache.org/dist/logging/log4j/)

slf4j-api-1.6.1.jar(下载地址:http://www.slf4j.org/dist/)(比如下载slf4j-1.6.1.zip)

选择slf4j-log4j包的版本是根据上面选择的log4j和slf4j包的版本

slf4j-log4j12-1.6.1.jar 此jar包在slf4j项目包下(下载slf4j项目包解压,比如slf4j-1.6.1.zip)

根据自己的JDK版本选择log4jdbc Jar包

log4jdbc4-1.2.jar(log4jdbc 1.2 jar for JDBC 4 (JDK 1.6 and 1.7))或者log4jdbc3-1.2beta2.jar (for JDBC 3 (JDK 1.4 and 1.5))

此jar包下载地址http://code.google.com/p/log4jdbc/downloads/list

2.配置log4j.properites,具体配置根据项目自己定义

#记录系统执行过的sql语句

#log4j.additivity.jdbc.sqlonly=true

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

#记录sql执行的时间,可以分析耗时的sql语句

#log4j.additivity.jdbc.sqltiming=true

#log4j.logger.jdbc.sqltiming=INFO,console

#记录除了ResultSet外的所有JDBC调用情况。一般不需要。

#log4j.additivity.jdbc.audidt=true

#log4j.logger.jdbc.audit=INFO,console

#记录返回结果集信息

#log4j.additivity.jdbc.resultset=true

#log4j.logger.jdbc.resultset=INFO,console

#记录数据库连接和释放信息,可记录当前的数据库连接数,便于诊断连接是否释放

#log4j.additivity.jdbc.connection=true

#log4j.logger.jdbc.connection=INFO,console

3.修改连接驱动和连接url

比如:

jdbc.driver=oracle.jdbc.driver.OracleDriver

jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl

改为:

jdbc.driver=net.sf.log4jdbc.DriverSpy

jdbc.url=jdbc:log4jdbc:oracle:thin:@localhost:1521:orcl

完成以上三步,重新启动服务器就OK了,你就可以看到sql全部语句了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值