Hi,
I am trying to get karaf to log into mysql LOGS table.
However, karaf throwing following error:
dev@ubuntu:~/apache-karaf-4.0.1$ bin/karaf
log4j:ERROR Failed to load driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver not found by
org.ops4j.pax.logging.pax-logging-service [2]
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558)
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998)
Following are the steps I did. Where did I go wrong?
1) I have copied mysql connector bundle as follow:
dev@ubuntu:~/apache-karaf-4.0.1$ find system/ | grep mysql
system/mysql
system/mysql/mysql-connector-java
system/mysql/mysql-connector-java/5.1.37
system/mysql/mysql-connector-java/5.1.37/mysql-connector-java-5.1.37.jar
2) Added to startup properties
mvn\:mysql/mysql-connector-java/5.1.37 = 5
3) Added DBAppender to etc/org.ops4j.pax.logging.cfg
log4j.rootLogger=INFO, out, DB, osgi:*
:
# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost/logdb
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
Thanks and regards,
Ravi Nallappan