Добрый день...
Писал логи в файлы и в консоль — всё отлично было.
Возникла необходимость писать логи в БД,
и вот она стала для меня камнем предкновения.
Выручайте.
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("Абырвалг");
}
}