Hello,

I'm trying to add database logging to servicemix/karaf by editing the pax.logging config file as:

# Root logger
log4j.rootLogger=INFO, out, DB, osgi:VmLogAppender
...
# Database appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/edigrid_logging
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=root
log4j.appender.DB.password=
log4j.appender.DB.sql=INSERT INTO logs VALUES('%x','%d','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

I copied mysql-connector-java-5.1.35.jar file, with and without "karaf" prefix to <karaf-home>/lib directory. I also tried to install mysql from inside karaf (osgi:install -s mvn:mysql/mysql-connector-java/5.1.35) but no difference. Also tried to add mysql-connector-java-5.1.35.jar onto lib and lib/ext Java directories. Also tried to add mysql driver into Import Package manifest field of pax-logging-service/pax-logging-api.

*I got the following error at servicemix/karaf startup:**
*
Please wait while Apache ServiceMix is starting...
  2% [=> ]log4j:ERROR Failed to load driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver not found by org.ops4j.pax.logging.pax-logging-service [3] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:191)
    at org.apache.log4j.jdbc.JDBCAppender.setDriver(JDBCAppender.java:391)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.log4j.config.PaxPropertySetter.setProperty(PaxPropertySetter.java:310) at org.apache.log4j.config.PaxPropertySetter.setProperty(PaxPropertySetter.java:269) at org.apache.log4j.config.PaxPropertySetter.setProperties(PaxPropertySetter.java:196) at org.apache.log4j.config.PaxPropertySetter.setProperties(PaxPropertySetter.java:108) at org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:193) at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735) at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502) at org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:72) at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:214) at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:362) at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:148) at org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:81) at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1436) at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1392)
    at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)
    at java.lang.Thread.run(Thread.java:745)

***************************************

Can you please give me any advice as I'm kind of desperate.

Thank you,
Costi






Reply via email to