Um Logeinträge in eine Datenbanktabelle zu schreiben reicht ein Konfigurationseintrag:
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A1.driver=com.mysql.jdbc.Driver
log4j.appender.A1.URL=jdbc:mysql://127.0.0.1:3306/test
log4j.appender.A1.user=root
log4j.appender.A1.password=
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=INSERT INTO log (`date`,`class`,`level`,`message`) VALUES (TIMESTAMP('%d{yyyy-MM-dd HH:mm:ss}'), '%c', '%p', '%m')
MySQL-Tabelle:
CREATE TABLE `log` (
`id` int(11) NOT NULL auto_increment,
`date` datetime NOT NULL,
`name` varchar(250) default NULL,
`level` varchar(250) default NULL,
`message` TEXT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;