记录连接池的org.apache.commons.dbcp.BasicDataSource弹簧(lo

2019-09-02 01:31发布

我试图登录的连接池org.apache.commons.dbcp.BasicDataSource使用log4j的

我使用DAO层注入Spring框架。

当我看到里面的代码org.apache.commons.dbcp.BasicDataSource ,记录仪不使用。所以这似乎是不可能登录池口信。

但是,我再次看到这个链接http://forum.springsource.org/showthread.php?38306-Connection-Pooling-debug-info 。
有的人说把log4j.category.org.apache.dbcp=DEBUG 。 但我无法找到正确的答案。
所以我的问题是,可以使用log4j的连接池的日志org.apache.commons.dbcp.BasicDataSource

Answer 1:

看来的BasicDataSource只有一个PrintWriter,而不是记录仪作为一个成员变量。 所以,你不得不调用BasicDataSource.setLogWriter(PrintWriter的),其中的PrintWriter简单包装一下你的log4j记录。

我碰到这个传来: http://www.opensource.apple.com/source/JBoss/JBoss-737/jboss-all/common/src/main/org/jboss/logging/util/LoggerWriter.java

这似乎恰恰如此。 我不知道在Apache的百科全书一个工具,做类似的事情,但在上面的链接的类似乎将完成你在找什么。



Answer 2:

为时已晚,因为有人问,但我这是怎么定的问题:

指定记录在JDBC URL的驱动程序

new BasicDataSource().setUrl("jdbc:mysql://localhost/DBName?logger=com.mysql.jdbc.log.Slf4JLogger&profileSQL=true");


文章来源: logging connection pooling for org.apache.commons.dbcp.BasicDataSource with spring
标签: spring log4j