Log4jdbc数据库访问日志框架使用
Log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在数据库客户端运行
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配置样例
程序调用示例
推荐阅读
-
Java学习笔记 DbUtils数据库查询和log4j日志输出 使用
-
docker中使用mongodb数据库详解(在局域网访问)
-
docker中使用mysql数据库详解(在局域网访问)
-
Ubuntu 16.04.4 LTS环境中php7.0使用mysqli失败,数据库无法访问
-
C#使用数据存储方式访问数据库
-
JavaWeb笔记13-JDBC原理及使用Statement访问数据库
-
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo
-
JAVAEE——SpringBoot日志篇:日志框架SLF4j、日志配置、日志使用、切换日志框架
-
在.NET Core中使用Exceptionless分布式日志收集框架
-
Java日志框架之logback使用详解