log4sql介绍

log4sql介绍
log4j环境中简单配置的情况下可收集执行的SQL语句和JDBC执行情况,如预编译的”?“显示成参数的实际值

下载log4sql.jar
第一步:http://log4sql.sourceforge.net/index.html


第二步:点击 log4sql


第三步:点击Download log4sql-7.0.8
第四步:解压下载文件会看到目录下面有log4sql.jar文件

 

配置log4sql之前
程序执行后console端打印如下:
[2015-09-18 16:20:31] 0 DEBUG [com.test.biz.service.EmpService.getEmpList(EmpService.java:49)] -
SELECT  EMPNO                                             
      , ENAME                                             
      , JOB                                               
      , MGR                                               
      , TO_CHAR(HIREDATE, 'YYYYMMDD')  HIREDATE           
      , SAL                                               
      , COMM                                              
      , DEPTNO                                            
FROM    EMP                                               
WHERE   ENAME LIKE UPPER(?) || '%'

 

下载配置完成后“?”会显示具体的值

 

配置到eclipse工程中的步骤:
1、添加 log4sql.jar 包
     WEB-INF > lib > log4sql.jar


2、变更 context.xml 文件
     tomcat目录下的context.xml中的
     driverClassName="oracle.jdbc.driver.OracleDriver" 改成 driverClassName="core.log.jdbc.driver.OracleDriver"

     <!-- oracle datasource -->      
     <Resource name="jdbc/orcl" auth="Container" type="javax.sql.DataSource"
           maxActive="100" maxIdel="30" maxWait="1000"
           username="scott" password="goodluck" driverClassName="core.log.jdbc.driver.OracleDriver"
           url="jdbc:oracle:thin://localhost:1521/orcl?allowMultiQueries=true"/> 

3、重启tomcat后执行有sql语句的程序,确认console打印的sql中的参数是不是一起打出来了

[2015-09-18 17:31:19] [DEBUG]『javax.servlet.http.HttpServlet:service(620)』 Elapsed Time [0:00:00.020]
SELECT  EMPNO                                             
      , ENAME                                             
      , JOB                                               
      , MGR                                               
      , TO_CHAR(HIREDATE, 'YYYYMMDD')  HIREDATE           
      , SAL                                               
      , COMM                                              
      , DEPTNO                                            
FROM    EMP                                               
WHERE   ENAME LIKE UPPER( 's' /**P*/) || '%'

原来的"?"预编译符号变成了"s"显示

posted @ 2015-09-18 17:34  bada130  阅读(396)  评论(0编辑  收藏  举报