jdbc log4jdbc mysql_java log4jdbc日志框架

在Java开发中,为了查看完整的SQL语句,可以利用log4jdbc项目。本文介绍了如何在MySQL中开启SQL日志,并展示了log4jdbc在Windows和Linux环境下配置日志文件的方法,以及如何配置log4j以输出SQL查询。通过log4jdbc,可以观察到Hibernate原本以?占位的SQL被转换为完整查询。
摘要由CSDN通过智能技术生成

现在各种持久层框架如:hibernate,springdata jpa,mybatis对使用了占位符的sql输出是没有显示完整的sql语句的,所以如果想获取到完整的sql,除了在db层做配置外,也有单独在jdbc层做此功能的项目如:log4jdbc项目。

mysql开启sql的方式:

windows环境下my.ini[mysqld]

log = "c:\log.txt" #所有查询语句

#log-slow-queries="c:\slow-log.txt" #慢查询

#long_query_time=3 #(3秒) #慢查询时间

linux下的修改my.cnf[mysqld]

general_log_file = /usr/local/mysql/mysql.log

general_log = 1

修改后必须重启mysql服务才会生效。

log4jdbc执行的截图:

5f44669d9023f819b9cfa4031178418d.png

可以看到hibernate的输出占位符为?,而log4jdbc则输出了完整的sql查询

mysql的sql查询输出截图:

5f44669d9023f819b9cfa4031178418d.png

log4j需要单独配置log的输出:log4j.logger.jdbc.sqlonly=OFF

log4j.logger.jdbc.sqltiming=INFO

log4j.logger.jdbc.audit=OFF

log4j.logger.jdbc.resultset=OFF

log4j.logger.jdbc.connection=OFF

jdbc的连接配置如下:datasource.connection.url=jdbc:log4jdbc:mysql://localhost:3306/zuidaima_log4jdbc?useUnicode=true&characterEncoding=utf-8

需要单独把log4jdbc的jar包加到lib中或者把该jar包加到自己本地的maven仓库中然后添加maven依赖也可以。

5f44669d9023f819b9cfa4031178418d.png

5f44669d9023f819b9cfa4031178418d.png

5f44669d9023f819b9cfa4031178418d.png

参考:http://code.google.com/p/log4jdbc/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>