`

log4jdbc 使用入门

 
阅读更多

log4jdbc 可以将占位符与参数全部合并在一起显示,方便直接拷贝 sql PLSQL Developer 等客户端直接执行,加快调试速度. 记录执行的sql及其耗时等.

 

 

1.测试代码

 

package com.mtea.demo.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class Demo {
	private static Logger logger = LoggerFactory.getLogger(Demo.class);

	public static void main(String args[]) {
		test_without_log4jdbc_effect();
		test_with_log4jdbc_effect();
	}
	
	/**
	 * no log4jdbc
	 */
	public static void test_without_log4jdbc_effect(){
		//mysql-connector-java-5.1.10-bin.jar提供的类
		String driverNameOfMysql = "com.mysql.jdbc.Driver";
		
		String connStringOfMysql = "jdbc:mysql://localhost:3306/db_hibernate";
		
		Connection conn = null;
		ResultSet rs = null;
		PreparedStatement pstmt = null;
		try {
			Class.forName(driverNameOfMysql);
			conn = DriverManager.getConnection(connStringOfMysql, "root", "root");
			pstmt = conn.prepareStatement("select name from tb_product where id=?"); 
			pstmt.setInt(1, 1);
			rs=pstmt.executeQuery();
			while (rs.next()) {
				System.out.println(rs.getString("name"));
			}
			rs.close();
		} catch (Exception e) {
			logger.error("test_without_log4jdbc_effect 出错", e);
		} finally {
			logger.info("test_without_log4jdbc_effect finished");
		}
	}
	/**
	 * with log4jdbc_effect
	 */
	public static void test_with_log4jdbc_effect(){
		//log4jdbc4-1.2beta2.jar提供的类
		String driverName = "net.sf.log4jdbc.DriverSpy";
		
		String connString = "jdbc:log4jdbc:mysql://localhost:3306/db_hibernate";
		
		Connection conn = null;
		ResultSet rs = null;
		PreparedStatement pstmt = null;
		try {
			Class.forName(driverName);
			conn = DriverManager.getConnection(connString, "root", "root");
			pstmt = conn.prepareStatement("select name from tb_product where id=?"); 
			pstmt.setInt(1, 1);
			rs=pstmt.executeQuery();
			while (rs.next()) {
				System.out.println(rs.getString("name"));
			}
			rs.close();
		} catch (Exception e) {
			logger.error("test_with_log4jdbc_effect 出错", e);
		} finally {
			logger.info("test_with_log4jdbc_effect finished");
		}
	}
}

 2.运行结果:


3.项目配置:

 


4.过滤日志:

    <logger name="jdbc.connection" level="ERROR"/>
    <logger name="jdbc.audit" level="ERROR"/>
    <logger name="jdbc.sqlonly" level="ERROR"/>
    <logger name="jdbc.resultset" level="ERROR"/>
    <logger name="log4jdbc.debug" level="ERROR"/>

 

5. over

 

 

  • 大小: 68.3 KB
  • 大小: 27.7 KB
分享到:
评论

相关推荐

    Spring Boot 入门之整合 log4jdbc 篇

    logback日志的yml文件 logging: level: root: info org.springframework: info com.beijin.limengya.mobile.dao: ERROR com.beijin: debug ... liquibase.executor: ERROR liquibase.lockservice: ERROR ... # l

    日志框架log4j和slf4j入门教程(私塾在线)视频配套学习资料

    ### 日志框架log4j和slf4j入门教程知识点详解 #### 一、Log4j简介 **Log4j** 是Apache组织下的一个开源项目,主要用于Java应用程序的日志记录功能。通过Log4j,开发者可以灵活地控制日志信息的输出格式、输出目的...

    hibernate4快速入门实例详解

    在搭建开发环境时,需要将 Hibernate 框架的库文件(包括所需的 JAR 包)添加到项目中,还需要 SLF4J 和 Log4J 的实现库,以及相应的 JDBC 驱动 JAR 包。 例如,创建一个简单的 Hibernate 应用,可以定义一个名为 `...

    Mybatis入门.doc

    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p --- [%50t] %-80c(line:%5L) : %m%n ``` 为了连接数据库,还需要...

    Hibernate入门jar包

    - `slf4j-api.jar`和相应的实现(如`slf4j-log4j12.jar`):日志记录框架,Hibernate使用它来输出日志信息,便于调试和监控。 在实际开发中,将这些jar包添加到项目的类路径中,就可以开始使用Hibernate进行数据库...

    mybatis入门示例项目

    5. Log4j打印日志:Log4j是一个广泛使用的日志记录框架,它可以帮助开发者追踪程序运行状态和调试问题。在`pom.xml`中添加Log4j依赖后,我们可以在代码中使用`Logger`对象记录信息。例如,`logger.info("User loaded...

    ORACLE从入门到精通 明日科技编著

    1. JDBC与ODBC:讲解如何使用Java的JDBC接口和通用的ODBC接口连接Oracle数据库,进行数据操作。 2. PL/SQL编程:深入学习PL/SQL语言,包括流程控制、异常处理和包的使用。 3. APEX与Oracle Application Express:...

    hibernate3入门

    为了简化日志配置,可以从Hibernate的`etc`目录复制`log4j.properties`文件到项目的Classpath中,并修改其中的日志级别。例如,可以将`log4j.logger.org.hibernate`设置为`error`,以便仅在出现错误时记录日志。 ...

    mybatis入门程序

    5. 其他可能的依赖,如日志库(log4j或slf4j)、单元测试库(JUnit)等。 接下来,我们来详细探讨MyBatis入门的几个关键步骤: 1. **项目搭建**:首先在IDEA中创建一个新的Maven项目,然后在`pom.xml`文件中添加...

    MyBatis 1章 入门(使用MyBatis完成CRUD)

    **MyBatis入门教程——使用MyBatis完成CRUD操作** MyBatis是一个优秀的Java持久层框架,它简化了数据库操作,将SQL语句与Java代码分离,使得开发者能够更专注于业务逻辑。本教程将带你逐步了解如何使用MyBatis进行...

    Java Web从入门到精通光盘17-1

    此外,学会使用日志框架(如Log4j)来记录和分析应用运行情况也很重要。 综上所述,"Java Web从入门到精通光盘17-1"涵盖了Java Web开发的基础和进阶知识,读者在学习过程中需注意自行配置环境,特别是jar文件的获取...

    jboss入门

    3. **公共库管理**:将公共库(如JDBC驱动、log4j等)放置于`$JBOSS_HOME/server/default/lib`,避免重复加载,节省内存资源。 4. **日志配置**:`log4j.xml`文件位于`$JBOSS_HOME/server/default/conf`,用于定制...

    Eclipse开发入门与项目实践 源代码 part4

    "Eclipse开发入门与项目实践 源代码 part4"是针对初学者或者希望深化Eclipse使用技巧的学习者提供的一系列资源。这部分源代码主要包含了名为"ShopAdmin"的程序,它可能是一个小型的管理应用程序,用于商店后台的运营...

    springboot入门例子

    7. **日志管理**:Spring Boot 默认使用 Logback 或 Log4j2 进行日志记录,你可以通过配置文件(application.properties 或 application.yml)调整日志级别和输出格式。 8. **测试支持**:Spring Boot 提供了丰富的...

    mybatis入门实战之一

    MyBatis消除了几乎所有的JDBC代码和手动设置参数,提供了一个动态的SQL、易于使用的API,使得开发者能够将精力集中在编写SQL和Java代码的业务逻辑上。它的主要组成部分包括XML映射文件、Mapper接口和SqlSession对象...

    北大青鸟spring入门课程

    总结,北大青鸟的 Spring 入门课程旨在教授学员如何使用 Spring 框架进行企业级应用开发,包括理解 Spring 的容器概念,利用依赖注入和面向切面编程来构建松散耦合的系统,并了解如何与其他框架(如 Struts 和 ...

    hibernate入门教程

    需要注意的是,虽然Log4j不是必需的,但很多开发者出于日志记录的目的会选择使用它。 要搭建Hibernate环境,开发者需要创建一个JavaBean类,该类代表希望存储在数据库中的对象。这个类会包含一些属性,每个属性都...

    struts1+mysql的入门登陆例子

    Struts1是一个经典的Java Web开发框架,它在20世纪末至...同时,了解log4j和properties文件的使用,也有助于提升应用的可维护性和扩展性。通过实践,开发者可以更好地理解MVC模式,为后续更复杂的项目打下坚实的基础。

    Hibernate入门教程

    3. **必要和建议的jar库**:除了hibernate2.jar之外,还有多个jar库是必需的或建议使用的,如dom4j、CGLIB、CommonsCollections、CommonsLogging、ODMG4、EHCache以及Log4j。 - **dom4j**:用于XML解析,是...

    hibernate入门(doc)

    - **Log4j**:可选,用于日志记录,若选择使用,需要将log4j.jar添加到类路径中。 - **Java Transaction API (JTA)**:Hibernate还依赖于Java Transaction API进行事务管理,因此需要将jta.jar添加到项目中。 综...

Global site tag (gtag.js) - Google Analytics