Как отключить ведение журнала в java c3p0 connection pooling lib?
Привет всем, я только начинаю с c3p0 для пула соединений с базами данных. В настоящее время он присоединяется к моему log4j. Как установить отключение или, по крайней мере, до уровня SEVERE только для c3p0? Я попытался настроить файл свойств, но не уверен, что его правильно подобрали.
любые идеи о том, как лучше всего отключить его?
спасибо
UPDATE:
это, похоже, работает в файле log4j.properties
log4j.logger.com.mchange.v2.c3p0.impl=INFO
log4j.logger.com.mchange=INFO
Ответы
Ответ 1
Если вы используете файл log4j.xml, вы можете просто определить регистратор для пакета c3po:
<logger name="com.mchange.v2.c3p0">
<level value="SEVERE"/>
</logger>
Существуют аналогичные методы для log4j.properties. Я думаю, это просто:
log4j.logger.com.mchange.v2.c3p0=SEVERE
Ответ 2
Для тех, кто НЕ использует файл конфигурации, просто добавьте следующее в код, перед загрузкой пула соединений.
Properties p = new Properties(System.getProperties());
p.put("com.mchange.v2.log.MLog", "com.mchange.v2.log.FallbackMLog");
p.put("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "OFF"); // Off or any other level
System.setProperties(p);
Ответ 3
Я получал сообщения вроде:
Tue Feb 12 13:42:01 EST 2013 INFO: Profiler Event: [FETCH] at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76) duration: 0 ms, connection-id: 67, statement-id: 23, resultset-id: 27
Это заставило меня подумать, что C3P0 регистрировал эти сообщения. Фактически сообщение поступает от соединителя mysql, потому что я включил профилирование, используя строку соединения, такую как:
jdbc:mysql://localhost/database?profileSQL=true
Удалите ?profileSQL=true
, чтобы остановить запись этих сообщений.
Ответ 4
Я исправил проблему с строкой кода:
com.mchange.v2.log.MLog.getLogger().setLevel(MLevel.INFO);
Я использую log4j в своем приложении.
Ответ 5
Вы можете установить уровень журнала, добавив следующие строки в log4j.xml
Желательно выполнить регистрацию по крайней мере на уровне ошибки.
< category name="com.mchange" additivity="false">
< priority value="ERROR"/>
< appender-ref ref="ASYNC"/>
</ category>
Если вы действительно хотите отключить свойство set logging c3P0 com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF
в c3p0-Config.properties
или вы можете прямо установить это в коде как свойство System System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL",MLevel.OFF);
Ответ 6
Я работаю над clojure, через korma и для своей жизни я не мог загрузить файлы свойств (я новичок в clojure, поэтому я виню себя). Если вы находитесь на похожей лодке, вам может помочь следующее.
(System/setProperties
(doto (java.util.Properties. (System/getProperties))
(.put "com.mchange.v2.log.MLog" "com.mchange.v2.log.FallbackMLog")
(.put "com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL" "OFF")))
В принципе, порт clojure Филиппа Карриера отвечает выше, спасибо вам большое!