15

org.apache.commons.dbcp.BasicDataSourcelog4jを使用して接続プールをログに記録しようとしています

daoレイヤーインジェクションにスプリングフレームワークを使用しています。

内部のコードを見たとき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か?

4

2 に答える 2

5

BasicDataSource には、メンバ変数として Logger ではなく PrintWriter しかないようです。したがって、printWriter が単に log4j ロガーをラップしている BasicDataSource.setLogWriter(printWriter) を呼び出す必要があります。

私はこれに出くわしました: http://www.opensource.apple.com/source/JBoss/JBoss-737/jboss-all/common/src/main/org/jboss/logging/util/LoggerWriter.java

まさにそれをしているようです。Apache Commons で同様のことを行うツールを知りませんが、上記のリンクのクラスは、探しているものを実現するようです。

于 2014-08-04T21:25:54.593 に答える