zoukankan      html  css  js  c++  java
  • 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全部语句了。

  • 相关阅读:
    判断一个序列是否是另一个序列的前缀
    Ant-打增量包
    cas-单点登录-应用说明
    firebug离线安装方法-拖入法
    oracle-获取数据库中所有表的注释 comments
    跨浏览器的placeholder – 原生JS版
    birt IE8 IE9 兼容问题
    websphere部署--web应用-以自己的项目为例
    JSP-页面跳转大全
    Oracle中Union与Union All的区别(适用多个数据库)
  • 原文地址:https://www.cnblogs.com/ihanliu/p/4939860.html
Copyright © 2011-2022 走看看