`

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

 

分享到:
评论

相关推荐

    log4j使用笔记

    - `org.apache.log4j.jdbc.JDBCAppender`:通过 JDBC 将日志记录到数据库。 4. **Layout 类型**: - `org.apache.log4j.PatternLayout`:自定义输出格式。 - `org.apache.log4j.HTMLLayout`:HTML 输出格式。 -...

    log4j学习笔记及写入数据库配置

    在学习Log4j的过程中,阅读“log4j学习笔记及写入数据库配置”这份资料将有助于深入理解Log4j的使用,包括具体的配置步骤、常见问题以及最佳实践。通过实践,你可以更好地掌握如何利用Log4j来提升你的应用程序的可...

    java学习笔记使用JDBC对数据库进行增删改查方案一.pdf

    在 JDBC 中,记录日志非常重要,可以使用 Log4j 库记录日志。记录日志可以帮助开发者跟踪程序的执行过程,诊断错误和优化性能。在本方案中,使用 Logger 对象记录日志,例如记录连接数据库的开始和结束、执行 SQL ...

    springmvc+mybatis+jquery easyui+json+log4j

    5. Log4j:Log4j 是一个广泛使用的日志记录框架,提供了灵活的日志级别和配置方式,有助于开发者进行调试和性能监控。它可以将日志输出到控制台、文件、数据库等不同的目标,为系统运维和问题排查提供了便利。 在这...

    JavaWeb视频笔记word版本

    笔记可能包含如何配置错误页面,以及使用log4j等工具进行日志记录。 这份名为"方立勋JavaWeb视频前十一天笔记word版本(非常难得)"的资料,显然是对JavaWeb初级阶段知识的全面梳理,对于想要系统学习或复习JavaWeb...

    Java框架知识点学习笔记

    首先,Log4j是Java中广泛使用的日志记录框架,它允许开发者自定义日志级别、输出格式和目的地。在错误“Log4j 文件出现错误,自己的路径修改的错误”中,问题可能出在日志配置文件上。正确配置如下: ```properties...

    SSM 框架整合教程-尚硅谷学习笔记 2022 年

    日志记录对于调试和问题排查至关重要,SSM框架提供了多种日志实现,如Log4j、SLF4J等。 课程资源可能包含详细的步骤指导、示例代码、项目结构分析等,帮助学习者理解SSM整合的各个环节。通过阅读"SSM框架整合教程...

    Spring Boot核心技术-笔记-pdf版.7z

    它默认集成了Logback或Log4j2,我们可以通过配置文件调整日志级别和输出格式。 此外,健康检查和监控也是Spring Boot的重要功能。通过`/actuator`端点,我们可以获取应用的运行状态、内存信息、线程状态等,方便...

    hibernate学习笔记.

    使用slf4j-log4j12.jar作为适配器将Slf4j与Log4j连接。 5. **ID生成策略** - **对于MySQL的自增主键**,在User.hbm.xml中使用`&lt;generator class="native"/&gt;`,或者在Annotation配置中,若字段为自动递增整型,无需...

    尚学堂hibernate笔记

    8. **配置日志系统并显示DDL语句**:选择SLF4J作为日志门面接口,通过SLF4J将接口转换为Log4J的实现,并配置Log4J的属性文件`log4j.properties`来记录日志,其中包括显示DDL语句。 #### 二、使用Hibernate生成...

    spring 使用 Jpa的笔记

    6. **slf4j-api.jar** 和 **slf4j-log4j12.jar**:用于日志记录的标准接口及其实现。 7. **hibernate-core.jar**:Hibernate核心库。 8. **log4j.jar**:日志记录框架。 9. **javassist.jar**:代码生成工具,被...

    B站java狂神说笔记

    Apache是常见的开源软件项目,其产品如Tomcat(Java EE应用服务器)、HttpClient(网络通信库)、Log4j(日志框架)等在Java开发中广泛应用。笔记可能会介绍如何集成和使用这些工具。 总结,【Java狂神说笔记】是一...

    dwr笔记整理(三)

    9. **log4j-1.2.12.jar**:一个流行的日志记录框架,用于调试和记录应用程序中的事件。笔记可能会介绍如何通过DWR控制日志输出。 10. **jtds-1.2.jar**:这是一个开源的JDBC驱动,用于连接Microsoft SQL Server和...

    hibernate框架学习笔记整理

    - 导入log4j日志包。 2. **创建数据库和表**: - 数据库:`crm` - 表:`cst_customer` 3. **创建Java实体类**。 4. **编写映射文件**(ORM元数据): - 映射文件与实体类放在同一包下,文件名为实体类名加`....

    学习笔记hibernate所需jar包.rar

    Hibernate使用`slf4j-api.jar`和`slf4j-log4j12.jar`(或其他的SLF4J绑定)进行日志记录。SLF4J是一个简单易用的日志门面,可以方便地切换不同的日志实现。 8. **其他辅助库**: 还有一些其他的辅助库,如`...

    源码笔记.rar

    Java的Exception类和logging框架如Log4j或SLF4J可以帮助开发者追踪和解决运行时问题。 【单元测试与集成测试】 良好的源码应该包含全面的测试用例,以确保代码质量。JUnit是Java中常用的单元测试框架,而Mockito则...

    MyBatis3学习笔记.pdf

    在依赖(dependencies)部分,我们需要添加MyBatis框架本身、MySQL连接驱动、日志库(如SLF4J和Log4j)以及测试框架(如JUnit)的依赖。这些依赖版本号应根据当前需求进行更新。 在MyBatis中,配置主要包括两部分:...

Global site tag (gtag.js) - Google Analytics