<< 使用 jQuery Mobile 快速开发 mobile 网站 | 首页 | 如何用jQuery做浏览器类型判断和分辨率判断 >>

使用jdbcdslog 跟踪 JDBC-记录带有详细参数值的SQL

jdbcdslog 是一款用来跟踪 JDBC 的全功能工具,记录带有详细参数值的SQL。

特征包括:
- 可挂接到数据库连接, 驱动或数据源上(XA, 连接池)
- 可记录 PreparedStatement 和 CallableStatement 调用所绑定的参数
- 可记录 ResultSet 对象中的查询记录行
- 可记录查询执行时间
- 支持多种日志引擎 (感谢 SLF4J, 你可以使用多数流行的日志组件库, 像 log4j, apache common logging, java logging 或者简单的输出到 System.out)

你有三种选择去配置日志代理:

- 在你的代码中包裹 JDBC 连接. 
用下面那样的构造方式:
Connection loggingConnection = ConnectionLoggingProxy.wrap(originalConnection);

- 配置 JDBC Driver 的日志代理. 
在这种方法中,你必须使用 org.jdbcdslog.DriverLoggingProxy 来替代你原本的 JDBC Driver 类,并使用 jdbcdslog 的 URL 格式,原连接的 URL 作为它的参数:
jdbc:jdbcdslog:;targetDriver=

- 配置 JDBC 数据源日志代理.

这种方式下,你需要使用 org.jdbcdslog.ConnectionPoolXADataSourceProxy 类来替代你自己的 DataSource 实现类, 还要传递一个值为 DataBase 或 URL 的附加参数 targetDS 作为新的 DataSource 的配置项.

更多信息和配、配置实例、jar 文件和源代码,请参看该项目的网站: http://code.google.com/p/jdbcdslog/.

 

 

jdbcdslog支持DataSource(XA,Pooling):

 Spring DI

    <jee:jndi-lookup id="mssDataSourceActual" jndi-name="${mss.dataSource.main.jndiName}"/>

    <bean id="mssDataSource" class="org.jdbcdslog.ConnectionPoolXADataSourceProxy">

        <property name="targetDSDirect" ref="mssDataSourceActual" />

    </bean>

jndi的使用,请google

Weblogic + Oracle

  <jdbc-driver-params>

    <url>jdbc:oracle:thin:@10.100.53.85:1521:cmn?targetDS=oracle.jdbc.xa.client.OracleXADataSource</url>

    <driver-name>org.jdbcdslog.ConnectionPoolXADataSourceProxy</driver-name>

    <properties>

      <property>

        <name>user</name>

        <value>mssapp</value>

      </property>

      <property>

        <name>serverName</name>

        <value>10.100.53.85</value>

      </property>

      <property>

        <name>portNumber</name>

        <value>1521</value>

      </property>

      <property>

        <name>SID</name>

        <value>cmn</value>

      </property>

    </properties>

    <password-encrypted>{3DES}ThgsfHr3yB1bfpnD4u/t3A==</password-encrypted>

  </jdbc-driver-params>

 

标签 : , ,



发表评论 发送引用通报