Heim  >  Artikel  >  Datenbank  >  Log4jdbc数据库访问日志框架使用

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

WBOY
WBOYOriginal
2016-06-07 15:54:571120Durchsuche

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配置样例
     



     
       
       
       

       
       
       

     

     
       
       
       
       
       
         
       

     

     
       
       
       
       
       
         
       

     

     
       
       
       
       
       
         
       

     

     
       
       
       
       
       
         
       

     

     
     
     
       
       
     

     
     
     
       
       
     

     
     
     
     
       
       
     

     
     
     
       
       
     

     
     
     
       
       
     

     
     
     
     
       
       
     


     
     


     
    程序调用示例

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn