Log4J to MySql
От: Sovun  
Дата: 20.06.07 13:32
Оценка:
Добрый день...

Писал логи в файлы и в консоль — всё отлично было.
Возникла необходимость писать логи в БД,
и вот она стала для меня камнем предкновения.
Выручайте.

2.properties:

log4j.appender.R=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.R.URL=jdbc:mysql://localhost/caks
log4j.appender.R.user=root
log4j.appender.R.password=root
log4j.appender.R.sql=INSERT INTO message (message) VALUES ('%m')


И собственно неработающий код:
В результате выполнения кода получаю
log4j:ERROR Failed to excute sql
java.sql.SQLException: No suitable driver


import org.apache.log4j.*;
import org.apache.log4j.jdbc.JDBCAppender;
import java.sql.Driver;
import java.sql.DriverManager;

public class JDBCLogTest {

    public static void main (String [] args) {
        Logger logger = Logger.getLogger("org.apache.log4j.jdbc.JDBCAppender");
        PropertyConfigurator.configure("src//2.properties");
        logger.setLevel(Level.ALL);

        JDBCAppender appender = new JDBCAppender();
        appender.setPassword("root");
        appender.setUser("root");
        appender.setURL("jdbc:mysql:/localhost/caks");
        appender.setSql("INSERT INTO test (message) VALUES ('sdflkj')");

        try
        {
            Driver d = (Driver)(Class.forName("com.mysql.jdbc.Driver").newInstance());
            DriverManager.registerDriver(d);
        }
        catch(Exception e){
            System.out.println("DB driver wasn't registered");
        }

        appender.setDriver("com.mysql.jdbc.Driver");
        logger.addAppender(appender);

        logger.info("Абырвалг");
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.