log4jdbc的使用

來源:互聯網
上載者:User

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:

#log4jdbclog4j.logger.jdbc.sqlonly=OFFlog4j.logger.jdbc.sqltiming=INFOlog4j.logger.jdbc.audit=OFFlog4j.logger.jdbc.resultset=OFFlog4j.logger.jdbc.resultsettable=OFFlog4j.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語句。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.