2013-05-06 16 views
14

Próbuję zalogować puli połączeń dla org.apache.commons.dbcp.BasicDataSource użyciu log4jrejestrowanie połączeń dla org.apache.commons.dbcp.BasicDataSource łączenie ze sprężyną

używam ramy sprężyny do wstrzykiwań warstwy dao.

Kiedy zobaczyłem kod wewnątrz org.apache.commons.dbcp.BasicDataSource, Logger nie jest używany. Tak więc wydaje mi się niemożliwe, aby logować wiadomość dla mnie.

Ale ponownie zobaczyłem ten link http://forum.springsource.org/showthread.php?38306-Connection-Pooling-debug-info.
Niektórzy ludzie chcieli umieścić log4j.category.org.apache.dbcp=DEBUG. Ale nie mogłem znaleźć właściwej odpowiedzi.
Moje pytanie brzmi: czy można połączyć dziennik łączenia połączeń za pomocą log4j dla org.apache.commons.dbcp.BasicDataSource?

+0

widziałem podobne komentarze do tego efektu myself i nigdy nie miałem szczęścia, aby uzyskać jakiekolwiek logowanie z DBCP. Co jest oczywiście dość denerwujące. Niestety nie jest to możliwe ...: -/ – Michael

+1

Mam to samo pytanie !! Próbuję ustawić następujące config w moim log4j.xml, ale bezużyteczne. Używam DBCP 1.4 okwap

+1

http://stackoverflow.com/questions/3597219/logging-in-dbcp może być przydatna, ponieważ wygląda na to, że potwierdza, że ​​DBCP nie loguje się. – reallynice

Odpowiedz

5

Wygląda na to, że BasicDataSource ma tylko PrintWriter, a nie Logger jako zmienną składową. Musielibyśmy więc wywołać BasicDataSource.setLogWriter (printWriter), gdzie printWriter po prostu owija logger log4j.

natknąłem to: http://www.opensource.apple.com/source/JBoss/JBoss-737/jboss-all/common/src/main/org/jboss/logging/util/LoggerWriter.java

co wydaje się dokładnie to zrobić. Nie znam żadnego narzędzia na Apache Commons, które robi coś podobnego, ale klasa w powyższym linku wydaje się, że osiągnie to, czego szukasz.

2

Jest zbyt późno, ponieważ padło pytanie, ale to jest jak naprawiłem problem:

Określ rejestrator dla kierowcy JDBC URL

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