log4jdbc日志框架


现在各种持久层框架如: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执行的截图:

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

mysql的sql查询输出截图:

log4j需要单独配置log的输出:

1 log4j.logger.jdbc.sqlonly=OFF
2 log4j.logger.jdbc.sqltiming=INFO
3 log4j.logger.jdbc.audit=OFF
4 log4j.logger.jdbc.resultset=OFF
5 log4j.logger.jdbc.connection=OFF

jdbc的连接配置如下:

1 datasource.connection.url=jdbc:log4jdbc:mysql://localhost:3306/zuidaima_log4jdbc?useUnicode=true&characterEncoding=utf-8

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

log4jdbc日志框架_第1张图片

log4jdbc日志框架_第2张图片

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

代码下载地址:http://www.zuidaima.com/share/1618579475975168.htm


你可能感兴趣的:(log4j,mysql,数据库,jdbc)