1

I am on OSX Yosmite and JRE8, I dont get to seem to get the logging to database to work with log4j, does anyone have a solution for this?

log4j:ERROR Failed to load driver

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1295)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1147)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:260)
    at org.apache.log4j.jdbc.JDBCAppender.setDriver(JDBCAppender.java:391)
    at org.apache.log4j.jdbc.JDBCAppender.getConnection(JDBCAppender.java:248)
    at org.apache.log4j.jdbc.JDBCAppender.execute(JDBCAppender.java:215)
    at org.apache.log4j.jdbc.JDBCAppender.flushBuffer(JDBCAppender.java:289)
    at org.apache.log4j.jdbc.JDBCAppender.append(JDBCAppender.java:186)
    at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
    at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
    at org.apache.log4j.Category.callAppenders(Category.java:206)
    at org.apache.log4j.Category.forcedLog(Category.java:391)
    at org.apache.log4j.Category.error(Category.java:322)
Jens
  • 67,715
  • 15
  • 98
  • 113
  • this is part of the log4 jar file which is not modifiable : log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender, unless you can recommend me a different appender for MySQL? – user3154925 Jan 12 '15 at 07:03
  • The ODBC Bridge is gone in Java 8. Use a real JDBC driver instead. –  Jan 12 '15 at 07:10
  • I'm getting the same errors with log4j using either "com.microsoft.sqlserver.jdbc.SQLServerDriver" or "org.postgresql.Driver". Is there a real JDBC driver to fix that? – nclu Mar 05 '15 at 19:13

1 Answers1

1

If you are using Java 8, You cannot use the JDBC-ODBC Bridge because it has been removed. Need to replace your logging jar with commons-logging-1.1.3.jar

atish shimpi
  • 4,873
  • 2
  • 32
  • 50