首頁  >  文章  >  資料庫  >  Log4jdbc数据库访问日志框架使用

Log4jdbc数据库访问日志框架使用

WBOY
WBOY原創
2016-06-07 15:54:571176瀏覽

Log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在数据库客户端运行

log4jdbc官网地址

  • https://github.com/arthurblake/log4jdbc
  • 当前最新版本是1.2, 支持JDBC3, JDBC4

    Log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在数据库客户端运行

    未使用log4jdbc记录的SQL:

    select count(*) from region where id=?

    使用 log4jdbc记录的SQL:

    select count(*) from region where

    log4jdbc特点

    1.全面支持JDBC 3和JDBC 4!

    2.容易配置,在大多数情况下,你需要做的是改变驱动类名net.sf.log4jdbc.DriverSpy的,并在前面加上“为jdbc:log4jdbc”到你现有的JDBC URL,建立你的日志记录类别。

    示例:jdbc:log4jdbc:mysql://192.168.0.207:3306/mall

    3.自动SQL输出。这大大提高了许多情况下的可读性和调试。

    4.可以打印SQL的执行时间,用来调试SQL的执行效率。

    5.生成SQL连接数信息,以帮助识别连接池或线程问题。

    6.底层的JDBC驱动程序的兼容,使用JDK 1.4以上和SLF4J 1.x

    log4jdbc设置的logger

    logger                描述
    jdbc.sqlonly          仅记录SQL。
    jdbc.sqltiming        计时统计SQL的执行用时。
    jdbc.audit            记录所有的JDBC调用(ResultSet的除外)。Log量非常大,会影响性能,建议关闭。
                          一般情况下不需要开这个设定,除非追踪一个特定的JDBC问题。
    jdbc.resultset        比audit量更大,包括ResultSet对象,记录所有的JDBC记录。建议关闭
    jdbc.connection        记录打开和关闭连接以及打开的连接数。用于追踪连接泄漏问题,非常有用。
     
    使用方法

    1: 在log4j配置文件中增加对应的logger

    2:  改变驱动类名,

            如MYSQL的:jdbc:log4jdbc:mysql://192.168.0.207:3306/mall

            如Derby的:jdbc:log4jdbc:derby://localhost:1527//db-derby-10.2.2.0-bin/databases/MyDatabase
     
    log4j配置样例
     



     
       
       
       

       
       
       

     

     
       
       
       
       
       
         
       

     

     
       
       
       
       
       
         
       

     

     
       
       
       
       
       
         
       

     

     
       
       
       
       
       
         
       

     

     
     
     
       
       
     

     
     
     
       
       
     

     
     
     
     
       
       
     

     
     
     
       
       
     

     
     
     
       
       
     

     
     
     
     
       
       
     


     
     


     
    程序调用示例

    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn