系统在现网环境下运行,有时候会出现响应比较慢的情况,有时候是因为数据库引起的,有时候是由于中间件引起的,也有可能是别的原因引起的,对一个现网系统来说,响应速度是非常重要的,要能够及时方向慢的地方;
还是在现网环境中,特别是一些复杂的数据操作内容,可能不符合数据库的某一些条件导致错误,而我们一般使用ibatis,hibernate,spring这些工具打印的jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Developer客户端直接执行,需要自己拼凑sql。
log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,并且可以显示SQL语句执行的时间,可以方便的解决上面两个问题。
1、在java的应用系统中log4jdbc的基本使用
相关必备包:分别是log4jdbc包,SLF4j包,log4j包;
1.1.选择相关JAR包和版本
log4jdbc3-1.2beta2.jar for JDBC 3support in JDK 1.4 , JDK 1.5
log4jdbc4-1.2beta2.jar for JDBC 4support in JDK 1.6 , JDK 1.7
需要使用SLF4j,主要是slf4j-api-1.7.10.jar和slf4j-log4j12-1.7.10.jar
需要log4j对应的包,log4j-1.2.16.jar
1.2.设置jdbc driver
如:在jdbc.properties中将原先的jdbc.driver=oracle.jdbc.driver.OracleDriver
修改为jdbc.driver=net.sf.log4jdbc.DriverSpy
1.3.修改jdbc url
在jdbc.properties中将原先的jdbc.url=jdbc:oracle:thin:@192.168.1.1:1521:ffm
修改为 jdbc.url=jdbc:log4jdbc:oracle:thin:@192.168.1.1:1521:ffm
1.4.设置logger
如在控制台仅需要输出sql语句的log4j.properties
log4j.logger.jdbc.sqlonly=DEBUG,sql log4j.additivity.jdbc.sqlonly=truelog4j.appender.sql=org.apache.log4j.ConsoleAppenderlog4j.appender.sqlThreshold=debug log4j.appender.sqlTarget=System.out log4j.appender.sqlEncoding=GBKlog4j.appender.sq