我试图登录的连接池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
?
看来的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的百科全书一个工具,做类似的事情,但在上面的链接的类似乎将完成你在找什么。
为时已晚,因为有人问,但我这是怎么定的问题:
指定记录在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