jdbc日志,Log4jbdc-remix使用

标签: jdbc 日志 log4jbdc | 发表时间:2014-01-03 03:59 | 作者:chongdiyang
出处:http://www.iteye.com

   做项目的时候给jdbc做日志,只打印出代?号的sql。个人觉得真没有太大的参考价值。由是看看有没有给jdbc做日志的框架。找到了log4jdbc,但是觉得还不是很理想,由是又看了看,还有一个护展插件log4jdbc-remix。先不扯这么多,先来教大家怎么使用吧。

 

1、加入依赖jar

使用这个插件依赖4个类:log4j,slf4j-log4j,slf4j-api,log4j-remix



 

 

引入这四个依赖jar

2、配置数据源代理

那么再来配置代理连接池,这里代理spring的连接池:

<context:property-placeholder location="classpath:/dataSource.properties" />
	<!-- 使用cglib代理 -->
	<aop:aspectj-autoproxy proxy-target-class="true" />

	<!-- jdbc datasource -->

	<bean id="dataSourceSpied" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
		<!-- Connection Pooling Info -->
		<property name="initialSize" value="1" />
		<property name="maxActive" value="3" />
		<property name="minIdle" value="1" />
		<property name="maxIdle" value="5" />
		<property name="maxWait" value="30000" />
		<property name="removeAbandoned">
			<value>true</value>
		</property>
		<property name="removeAbandonedTimeout">
			<value>180</value>
		</property>
		<property name="poolPreparedStatements" value="false" />
		<property name="defaultAutoCommit" value="true" />
	</bean>
	
	<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
    	<constructor-arg ref="dataSourceSpied" />
  	</bean>

 

其他就可以不变,当然还可以参照官方文档,给输出做一些样式。在这就不详述,后面会付上连接地址

 

3、配置log4j.properties.

完成上面两步,就还有一步,反日志输出来。我这里开发采用输出到控制台:

 

##-------------log4jdbc 配置方式示例---------------##  
#值设置方式 :如果关闭设置为OFF,如果开启设置为ON(默认debug级别)或(设置输出级别,输出器)
#log4j-remix中有一个 jdbc 日志输出点
#只打印出执行sql
#log4j.logger.jdbc.sqlonly=INFO, console
#打印出sql执行所需的时间
log4j.logger.jdbc.sqltiming=INFO,console  
#log4j.logger.jdbc.audit=INFO,console
#打印出执行sql和结果集
log4j.logger.jdbc.resultsettable=INFO, console
#打印出连接情况 
#log4j.logger.jdbc.connection=INFO,consol


#log4j.additivity.jdbc.sqlonly=false  
#log4j.additivity.jdbc.sqltiming=false  
#log4j.additivity.jdbc.audidt=false  
#log4j.additivity.jdbc.resultsettable=false  
#log4j.additivity.jdbc.connection=false  
  
log4j.appender.console=org.apache.log4j.ConsoleAppender  
log4j.appender.console.layout=org.apache.log4j.SimpleLayout 

 你以前做日志的代码可以不用改,加上上面的日志输出配置就行。当然你也可以xml方式配置log4j

 

一切准备就绪,执行下看看:

 

INFO - SELECT count(1) FROM t_active a {executed in 3 msec}
INFO - |---------|
INFO - |COUNT(1) |
INFO - |---------|
INFO - |0        |
INFO - |---------|

 

 

 

4、参考文章

log4jdbc-remix官网:http://code.google.com/p/log4jdbc-remix/

----------------------:依据官网,当前推荐使用 log4jdbc-log4j2.但是目前做日志主要还是用log4j1,待以后用log4j2的时候用用

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [jdbc 日志 log4jbdc] 推荐:

jdbc日志,Log4jbdc-remix使用

- - 企业架构 - ITeye博客
   做项目的时候给jdbc做日志,只打印出代. 由是看看有没有给jdbc做日志的框架. 找到了log4jdbc,但是觉得还不是很理想,由是又看了看,还有一个护展插件log4jdbc-remix. 先不扯这么多,先来教大家怎么使用吧. 使用这个插件依赖4个类:log4j,slf4j-log4j,slf4j-api,log4j-remix.

JDBC性能小贴

- - 开源软件 - ITeye博客
本文收集了一些用于提升JDBC性能的方法. Java应用或者JavaEE Web应用的性能是很重要的,尤其是数据库后端对应用的性能影响. 不知你是否经历过Java、JavaEE web应用非常慢的案例没有(处理一个简单的请求都要花上好几秒的时间用于数据库访问,分页、排序等). 下面这些贴士也许能提升Java应用的性能.

oracle的jdbc驱动

- - Oracle - 数据库 - ITeye博客
oracle的jdbc驱动主要有下面三类:.   1、JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动. 因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配置.

JDBC事务控制管理

- - 编程语言 - ITeye博客
事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句. 数据库默认事务是自动提交的,也就是发一条sql它就执行一条. 如果想多条sql放在一个事务中执行,则需要使用如下语句. 方式一:利用SQL语句管理事务. start transaction;--开启事务,这条语句之后的sql语句将处在一个事务当中,这些sql语句并不会立即执行.

Sharding-JDBC 1.3.1 发布,当当 JDBC 增强驱动

- - 开源中国社区最新新闻
Sharding-JDBC 1.3.1 发布了,Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据库分库分表 访问. Sharding-JDBC是继dubbox和elastic-job之后,ddframe系列开源的第3个项目.

sharding-jdbc 1.4.1 发布,当当 JDBC 增强驱动

- - 开源中国社区最新新闻
sharding-jdbc 1.4.1 发布了. Sharding-JDBC是一个轻量级的关系型数据库中间件,提供分库分表、读写分离和柔性事务等功能. 它直接封装JDBC协议,可以理解为增强版的JDBC驱动,旧代码迁移成本几乎为零. 它使用客户端直连数据库,以jar包形式提供服务,无proxy代理层,无需额外部署,无其他依赖,DBA也无需改变原有的运维方式.

spring与jdbc的结合使用

- - CSDN博客推荐文章
利用spring可以解决事务处理时的许多问题,同spring实现其他的功能相似,spring提供了两种不同的方式实现与jdbc的结合,两种方式是注解和xml配置方式. 1.   spring和jdbc的结合. 1)       建立PersonService接口:. * 得到所有的Person. 2)       编写接口的实现类,并且将该bean纳入到spring的事务管理中(通过注解方式):.

Java HIVE 使用Jdbc连接Hive

- - CSDN博客云计算推荐文章
1,使用Jdbc方式链接hive,首先需要启动hive的Thrift Server,否则会导致错误. hive --service hiveserver   是两”-“,. ----通过Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");加载hive驱动.

jdbc 使用sql文件插入数据

- - ITeye博客
System.out.println("读取文件内容操作出错");. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Spring对JDBC异常的封装

- - 编程语言 - ITeye博客
      Spring对JDBC异常的封装来自于《Expert One-on-One J2EE Design and Development》一书所持的观点. 书中指明jdbc使用单一java.lang.SQLException异常表示数据访问时发生的所有异常是一 个糟糕的设计. 在JDBC API 4.0以前的版本中,异常处理功能极其有限.