`

log4jdbc 使用笔记

阅读更多

相见恨晚啊,log4jdbc

 

参考了http://badqiu.iteye.com/blog/743100

maven 依赖

        <dependency>
            <groupId>com.googlecode.log4jdbc</groupId>
            <artifactId>log4jdbc</artifactId>
            <version>1.2</version>
        </dependency>

 

 

封装一下下,package名称不能改

 

package net.sf.log4jdbc;


import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

import java.sql.Connection;

public class DataSourceSpyInterceptor implements MethodInterceptor {

    private RdbmsSpecifics rdbmsSpecifics = null;

    private RdbmsSpecifics getRdbmsSpecifics(Connection conn) {
        if (rdbmsSpecifics == null) {
            rdbmsSpecifics = DriverSpy.getRdbmsSpecifics(conn);
        }
        return rdbmsSpecifics;
    }

    public Object invoke(MethodInvocation invocation) throws Throwable {
        Object result = invocation.proceed();
        if (SpyLogFactory.getSpyLogDelegator().isJdbcLoggingEnabled()) {
            if (result instanceof Connection) {
                Connection conn = (Connection) result;
                return new ConnectionSpy(conn, getRdbmsSpecifics(conn));
            }
        }
        return result;
    }

}

 

 

在spring的datasource配置后面增加:

    <bean id="log4jdbcInterceptor" class="net.sf.log4jdbc.DataSourceSpyInterceptor"/>

    <bean id="dataSourceLog4jdbcAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
        <property name="interceptorNames">
            <list>
                <value>log4jdbcInterceptor</value>
            </list>
        </property>
        <property name="beanNames">
            <list>
                <value>dataSource</value>
            </list>
        </property>
    </bean>

 

 

log4j.properties里面

 

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

 

分享到:
评论

相关推荐

    notebook-magazine-jdbc-hibernate

    笔记本杂志使用JDBC / HIBERNATE / JavaFX / Log4j /模式DAO研究项目

    java ee培训笔记

    java ee的一些列从基本到所有框架,包括java,ajax,cvs,dom4j,ejb,hibernate,html,javascript,jdbc,jsf,jsp,log4j,mix,ooad,oracle,plsql,servlet,spring,struts1,struts2,uml,webservices,xml...

    mybatis学习笔记

    1.6.4 第三步:log4j.properties 6 1.6.5 第四步:SqlMapConfig.xml 6 1.6.6 第五步:po类 7 1.6.7 第六步:程序编写 8 1.6.8 Mybatis解决jdbc编程的问题 15 1.6.9 与hibernate不同 16 2 Dao开发方法 16 2.1 需求 16...

    吴天雄--SSM框架整合笔记.doc

    搭建整合环境、Spring整合SpringMVC(配置web.xml文件、配置springmvc.xml文件)、Spring整合Mybatis(配置applicationContext.xml文件、配置mybatis-config.xml文件、jdbc.properties、log4j.properties)附有项目...

    Java学习笔记-个人整理的

    {12.13.4}update}{176}{subsection.12.13.4} {12.13.5}delete}{177}{subsection.12.13.5} {12.13.6}drop}{177}{subsection.12.13.6} {12.13.7}rename}{177}{subsection.12.13.7} {12.14}SQL脚本}{177}{section....

    整理后java开发全套达内学习笔记(含练习)

    log n.日志,记录 [lɒg] native (关键字) ?? ['neitiv] nested [java] 嵌套的 ['nestid] '如:内部类(nested classes) Object [java] 对象 ['ɒbdʒekt] Overload [java] 方法的重载(不同参数列表的同名方法) [,...

    互联网创意产品众筹平台

    问题一箩筐-关于打印日志log4j问题5 y: }- e: Z$ p6 X9 d0 A9 @ │ 7.问题一箩筐-生产环境模拟, y; v4 Z% p0 }& I+ X* B) t# j │ 8.问题一箩筐-相对路径和绝对路径 │ 9.问题一箩筐-自定义监听器,解决上下文路径...

    jive.chm

    13 JDBC性能优化技巧 &lt;br&gt; 权限设计 1 权限系统概要 2 关于权限设计方面的问题 3 关于用户角色权限管理一点想法 4 关于权限系统的设计 &lt;br&gt; 缓存系统 1 ...

    cid-proj-1-good-call:在网上获取GhuD

    项目1:网络上的ghuD ... log4j或类似 []开玩笑或类似的JS测试框架 [] 可选的: [] Docker,Docker-Compose []React []引导程序 []远程托管(AWS EC2 / RDS) [] Jenkins CI自动化 [] Mockito 建筑学 [] Anemic /

    spark-redshift:适用于Apache Spark的Redshift数据源

    适用于Apache Spark的Redshift数据源笔记为了确保为我们的客户提供最佳体验,我们决定直接在Databricks Runtime中内联此连接器。 Databricks Runtime(3.0+)的最新版本包括适用于Spark的RedShift连接器的高级版本,...

Global site tag (gtag.js) - Google Analytics