首页 > 数据库技术 > 详细

log4jdbc 使用

时间:2019-02-27 18:45:41      阅读:145      评论:0      收藏:0      [点我收藏+]

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

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

 

# 修改前
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8

# 修改后
spring.datasource.driver-class-name=net.sf.log4jdbc.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8

  

技术分享图片
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"/> 
技术分享图片

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="jdbc.connection" additivity="false" level="FATAL">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.resultset" additivity="false" level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.audit" additivity="false" level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.sqlonly" additivity="false" level="DEBUG">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
    <logger name="jdbc.sqltiming" additivity="false" level="DEBUG">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>
</configuration>

  

log4jdbc 使用

原文:https://www.cnblogs.com/JAYIT/p/10445564.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!