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  (下载地址:/dist/logging/log4j/)
slf4j-api-1.6.1.jar(下载地址:/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包下载地址le/p/log4jdbc/downloads/list
2.配置log4j.properites,具体配置根据项⽬⾃⼰定义
#记录系统执⾏过的sql语句
#log4j.additivity.jdbc.sqlonly=true
log4j.logger.jdbc.sqlonly=DEBUG,console
#控制台输出
sole=org.apache.log4j.ConsoleAppender
#控制台输出格式定义
sole.layout=org.apache.log4j.PatternLayout
sole.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
log4j2 appender#记录除了ResultSet外的所有JDBC调⽤情况。⼀般不需要。
#log4j.additivity.jdbc.audidt=true
#log4j.logger.jdbc.audit=INFO,console
#记录返回结果集信息
#log4j.sultset=true
#log4j.sultset=INFO,console
#记录数据库连接和释放信息,可记录当前的数据库连接数,便于诊断连接是否释放
#log4j.tion=true
#log4j.tion=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全部语句了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。