2009-10-05 3 views
1

Я пытаюсь заставить LogBack использовать HSQLDB с C3P0. Я привязался к этой конфигурации в настоящий момент, учитывая текущую среду. У меня большие инвестиции с кодом Log4J, и вам также потребуется использовать адаптер SL44J Log4J. Когда я пробую простую программу ведения журнала, она застряла на этапе конфигурации регистратора. Вот мой logback.xml:Logback - C3P0 и HSQLDB

<configuration> 
    <appender name="DB" class="ch.qos.logback.classic.db.DBAppender"> 
     <connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource"> 
      <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
       <driverClass>org.hsqldb.jdbcDriver</driverClass> 
       <jdbcUrl>jdbc:hsqldb:hsql://localhost:9001/mid_logs</jdbcUrl> 
       <user>sa</user> 
       <password>sa</password> 
      </dataSource> 
     </connectionSource> 
    </appender> 
    <root level="debug"> 
     <appender-ref ref="DB" /> 
    </root> 
</configuration> 

Мой путь к классам:

bin/.;lib/hsqldb.jar;lib/log4j-over-slf4j-1.5.8.jar;lib/logback-access-0.9.17.jar;lib/logback-classic-0.9.17.jar;lib/logback-core-0.9.17.jar;lib/slf4j-api-1.5.8.jar;lib/slf4j-log4j12-1.5.8.jar;lib/c3p0-0.9.1.2.jar 

Вот отрывок из моего кода:

System.out.println("Starting"); 
Logger logger = Logger.getLogger(TestLogging.class); 
System.out.println("got Logger"); 

'Запуск' появляется на выходе консоли, но ничего больше.

Любая помощь будет оценена!

+0

Разделите это на основы, чтобы убедиться, что вы можете сначала запустить LogBack для консоли. Затем вы можете попробовать выполнить регистрацию в базе данных. – SteveD

+0

Если я удалю C3P0 из микса и перейду с помощью DBAppender и напрямую к драйверу HSQLDB, я получаю строки, введенные в базу данных. Огромная проблема заключается в том, что драйвер HSQLDB не использует повторно соединения. Вот почему я пытаюсь использовать пулы соединений C3P0. –

+0

Вы пробовали связаться со списком рассылки журнала? – Ceki

ответ

0

status messages Вы получаете? Вы можете иметь их в списке, добавив следующую строку в файл configuraton:

<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" /> 

Поскольку файл конфигурации выше, не очень красиво отформатирована, что делает его трудно читать.

0

Я добавил StatusListener в файл logback.xml и вот результат:

07:45:12,816 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.db.DBAppender] 
07:45:12,832 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DB] 
07:45:12,848 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [connectionSource] on top of the object stack. 
07:45:13,129 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [dataSource] on top of the object stack. 

Если я выполняю «netstat -a -n» Я вижу подключение к базе данных, но никакой активности.