首先需要在log4j.xml文件中对要操作的数据库进行配置:
<
appender
name
="JDBC"
class
="test.JDBCAppenderExtended"
>
<!-- 驱动 -->
< param name ="driver" value ="oracle.jdbc.driver.OracleDriver" />
<!-- 要连接的数据库 -->
< param name ="URL"
value ="jdbc:oracle:thin:@192.168.1.112:1521:exam" />
< param name ="user" value ="sms2007" />
< param name ="password" value ="sms2007" />
<!-- 向数据库表logrecord中插入数据的sql语句 -->
< param name ="sql"
value =" insert into logrecord(id,packageid,userid,syscodeid,info,logtime,loglevel) values(?,?,?,?,?,to_date('%d{yyyy-MM-dd HH:mm:ss}','yyyy-MM-dd HH24:mi:ss'),'%p')" />
</ appender >
<!-- 驱动 -->
< param name ="driver" value ="oracle.jdbc.driver.OracleDriver" />
<!-- 要连接的数据库 -->
< param name ="URL"
value ="jdbc:oracle:thin:@192.168.1.112:1521:exam" />
< param name ="user" value ="sms2007" />
< param name ="password" value ="sms2007" />
<!-- 向数据库表logrecord中插入数据的sql语句 -->
< param name ="sql"
value =" insert into logrecord(id,packageid,userid,syscodeid,info,logtime,loglevel) values(?,?,?,?,?,to_date('%d{yyyy-MM-dd HH:mm:ss}','yyyy-MM-dd HH24:mi:ss'),'%p')" />
</ appender >
下面是继承
org.apache.log4j.jdbc.JDBCAppender
的
JDBCAppenderExtended
类:
import
java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Iterator;
import java.util.Map;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.spi.ErrorCode;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.MDC;
public class JDBCAppenderExtended extends org.apache.log4j.jdbc.JDBCAppender ... {
protected Connection connection
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Iterator;
import java.util.Map;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.spi.ErrorCode;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.MDC;
public class JDBCAppenderExtended extends org.apache.log4j.jdbc.JDBCAppender ... {
protected Connection connection