博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
log4jdbc 数据库访问日志框架使用
阅读量:6280 次
发布时间:2019-06-22

本文共 2218 字,大约阅读时间需要 7 分钟。

log4jdbc官网地址

当前最新版本是1.2, 支持JDBC3, JDBC4

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

未使用log4jdbc记录的SQL:

select count(*) from region where id=?

使用 log4jdbc记录的SQL:

select count(*) from region where id='gz'

log4jdbc特点

  • 全面支持JDBC 3和JDBC 4!
  • 容易配置,在大多数情况下,你需要做的是改变驱动类名net.sf.log4jdbc.DriverSpy的,并在前面加上“为jdbc:log4jdbc”到你现有的JDBC URL,建立你的日志记录类别。
  • 示例:jdbc:log4jdbc:mysql://192.168.0.207:3306/mall
  • 自动SQL输出。这大大提高了许多情况下的可读性和调试。
  • 可以打印SQL的执行时间,用来调试SQL的执行效率。
  • 生成SQL连接数信息,以帮助识别连接池或线程问题。
  • 底层的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配置样例

程序调用示例

public class Demo {    private static Logger log = LoggerFactory.getLogger(Demo.class);    public static void main(String[] args) throws SQLException {        log.info("开始");        Connection conn = DBUtils.getConnection();        conn.createStatement().execute("select count(*) from xbm_region");        JdbcUtils.executeQuery("select count(*) from xbm_region where id=?", "xxx");        log.info("完成");    }}

文章转载自 开源中国社区 [

你可能感兴趣的文章
input checkbox 复选框大小修改
查看>>
网吧维护工具
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>
再学 GDI+[43]: 文本输出 - 获取已安装的字体列表
查看>>
nginx反向代理
查看>>
操作系统真实的虚拟内存是什么样的(一)
查看>>
hadoop、hbase、zookeeper集群搭建
查看>>
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>