您的位置:首页 > 其它

log4jdbc的使用

2014-10-04 02:02 288 查看
google code项目地址:http://code.google.com/p/log4jdbc-remix/

新项目log4jdbc-log4j2地址:https://code.google.com/p/log4jdbc-log4j2/

操作:

1、加入依赖:

<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>

2、配置数据源拦截器

To configure a Spring Datasource to use Log4jdbc-remix: If you have

<bean id="dataSource" class="...">
<property name="driverClass" value="${datasource.driverClassName}"/>
<property name="jdbcUrl" value="${datasource.url}"/>
<property name="user" value="${datasource.username}"/>
<property name="password" value="${datasource.password}"/>
...
</bean>

Change this to

<bean id="dataSourceSpied" class="...">
<property name="driverClass" value="${datasource.driverClassName}"/>
<property name="jdbcUrl" value="${datasource.url}"/>
<property name="user" value="${datasource.username}"/>
<property name="password" value="${datasource.password}"/>
...
</bean>

<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSourceSpied" />
</bean>


3、配置 sql 的输出格式

If you want to define your own custom sql formatter, you can do it like this, where Log4JdbcCustomFormatter is an example custom formatter :

<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSourceSpied" />
<property name="logFormatter">
<bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter">
<property name="loggingType" value="MULTI_LINE" />
<property name="margin" value="19" />
<property name="sqlPrefix" value="SQL:::" />
</bean>
</property>
</bean>


运行时可能出现的错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource...

解决方案:注释掉 <property name="margin" value="19" /> 这行即可。

4、设置日志输出内容格式

log4j:

#log4jdbc
log4j.logger.jdbc.sqlonly=OFF
log4j.logger.jdbc.sqltiming=INFO
log4j.logger.jdbc.audit=OFF
log4j.logger.jdbc.resultset=OFF
log4j.logger.jdbc.resultsettable=OFF
log4j.logger.jdbc.connection=OFF

可以同时打开多个日志输出格式,不使用的设置为OFF即可。

logback:
<logger name='jdbc.sqltiming' additivity='false'/>
<logger name='jdbc.audit' additivity='false'/>
<logger name='jdbc.resultset' additivity='false'/>
<logger name='jdbc.connection' additivity='false'/>
<logger name='jdbc.resultsettable' additivity='false'/>
<logger name="jdbc.sqlonly" level="INFO"/>

然后,当项目运行时,你可以在日志中找到打印的SQL语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  log4jdbc