Подтвердить что ты не робот

Как отключить ведение журнала в 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
4b9b3361

Ответ 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 Филиппа Карриера отвечает выше, спасибо вам большое!