log4jdbc 使用

Posted Loi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4jdbc 使用相关的知识,希望对你有一定的参考价值。

像 hibernate, mybatis 都是不打印真正执行的sql的,所以借助 log4jdbc 打印sql以及统计执行时间是非常方便的。

配置log4jdbc 有很多种方法,比如通过spring的拦截器。最简单的方法就是在jdbc.url 连接参数加上log4jdbc,然后引入相应的log4jdbc包即可。

 

COMMENT 原连接参数:
jdbc.url=jdbc:mysql://127.0.0.1:3306/theme?characterEncoding=utf-8



COMMENT 加入log4jdbc后的连接参数:
jdbc.url=jdbc:log4jdbc:mysql://127.0.0.1:3306/theme?characterEncoding=utf-8

 

引入jar包

<!-- log4jdbc -->
<dependency>
    <groupId>com.googlecode.log4jdbc</groupId>
    <artifactId>log4jdbc</artifactId>
    <version>1.2</version>
    <scope>runtime</scope>
</dependency>

 

我用logback,所以还要引入logback 和 slf4j-api包。

 

因为log4jdbc 默认输出很多日志,所以需要配置,可以通过新建 log4jdbc.properties 配置,也可以通过logback.xml文件里配置, 用log4j的则是通过log4j.properties 或log4j.xml配置。

<!-- -->
<logger name="jdbc.sqlonly" level="WARN"/>  
<logger name="jdbc.sqltiming" level="INFO"/>  
<logger name="jdbc.resultsettable" level="INFO"/>  
<logger name="jdbc.resultset" level="WARN"/>  
<logger name="jdbc.connection" level="WARN"/>  
<logger name="jdbc.audit" level="WARN"/>


<!-- 或者关闭不必要的 -->
<logger name="jdbc.connection" level="OFF" />
<logger name="jdbc.audit" level="OFF" />
<logger name="jdbc.resultset" level="OFF" />
<logger name="jdbc.sqlonly" level="OFF" />
<logger name="jdbc.sqltiming" level="INFO" />
<logger name="jdbc.resultsettable" level="INFO"/> 

 

 

参考资料:

  http://www.jialeens.com/archives/720.html

  https://github.com/arthurblake/log4jdbc/blob/wiki/ProjectHome.md

  http://badqiu.iteye.com/blog/743100

 

以上是关于log4jdbc 使用的主要内容,如果未能解决你的问题,请参考以下文章

log4jdbc与logback

通过weblogic配置log4jdbc数据源,在项目中使用该数据源,输出sql

JPA使用log4jdbc输出sql日志

JPA使用log4jdbc输出sql日志

log4jdbc打印完整SQL

如何在 Spring Boot 项目中使用 Log4jdbc 记录 SQL 查询、它们的参数和结果?