使用spring记录org.apache.commons.dbcp.BasicDataSource的连接池

abi*_*rai 14 spring log4j

我正在尝试org.apache.commons.dbcp.BasicDataSource使用log4j 记录连接池

我使用spring框架进行dao层注入.

当我看到里面的代码时org.apache.commons.dbcp.BasicDataSource,没有使用Logger.因此,似乎无法为我记录池信息.

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

Tom*_*ell 5

似乎BasicDataSource只有一个PrintWriter,而不是一个Logger作为成员变量.因此,您必须调用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 Commons中的一个工具做了类似的事情,但上面链接中的类似乎可以完成你想要的东西.