журналы c3p0 с Play Framework 1?
Есть ли способ получить журналы отладки c3p0, показанные с Play framework 1.2.5?
Кто-нибудь спросил об этом на список воспроизведения электронной почты; по крайней мере, добавив следующие настройки log4j.свойства не работает:
log4j.logger.com.mchange.v2.c3p0=DEBUG
log4j.category.com.mchange=DEBUG
log4j.logger.com.mchange=DEBUG
4 ответа:
При некотором чтении исходного кода воспроизведения, DBPlugin: onApplicationStart , кажется, имеет следующее:
... System.setProperty("com.mchange.v2.log.MLog", "com.mchange.v2.log.FallbackMLog"); System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "OFF"); ComboPooledDataSource ds = new ComboPooledDataSource(); ...
После комментирования этих систем.методов-setproperty линий и построения локальных фляги, мне удалось увидеть c3p0 лесозаготовки.
Не знаете, есть ли другой способ включить ведение журнала, кроме этого?
Видите ли вы где-нибудь информацию о регистрации c3p0? идет ли он через standard out или через java.утиль.лесозаготовки?
В любом случае, одна вещь, которую нужно попробовать, это
com.mchange.v2.log.MLog=com.mchange.v2.log.log4j.Log4jMLog
Вы можете поместить это в c3p0.файл свойств или задайте его в качестве системного свойства (или создайте файл с именем mchange-log.собственности). смотрите здесь Подробнее.
Пробовали ли вы это в своем приложении?файл конф?
# Debug SQL statements (logged using DEBUG level): jpa.debugSQL=true
Не уверен, что это даст вам необходимые журналы, но стоит попробовать.
В ходе обсуждения avfl & Scott нашли другой способ с помощью OnApplicationStart job:
package jobs; import play.jobs.*; import play.Logger; @OnApplicationStart public class C3p0Logging extends Job { public void doJob() { Logger.info("Setting custom c3p0 log level"); com.mchange.v2.log.log4j.Log4jMLog.getLogger().setLevel(com.mchange.v2.log.MLevel.FINEST); } }
Это, кажется, заканчивается на C3p0 FallbackMLog - > System.ошибаться. Не нашли способа получить журналы в log4j с помощью этого подхода.