log4j.rootLogger=DEBUG,CONSOLE,DATABASE
log4j.addivity.org.apache=true
########################
# JDBC Appender
#######################
log4j.appender.DATABASE.Threshold=INFO
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.DATABASE.BufferSize=10
log4j.appender.DATABASE.URL=you jdbcurl
log4j.appender.DATABASE.driver=you jdbc driver
log4j.appender.DATABASE.user=
log4j.appender.DATABASE.password=
log4j.appender.DATABASE.sql=INSERT INTO YOU_LOG_TABLE VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
下面我們對“%d %t %p %l %m %n”一一講解:
l %d輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss},輸出類似:2005-7-19 17:49:27,剛好適合插入SQLServer;
l %t 產生該日志事件的線程名;
l %p 日志的log_level,如DEBUG、WARN或者INFO;
l %c 輸出所屬的類目,通常就是所在類的全名,如“iNotes.Default”;
l %m 日志的內容;
l %l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。如write2database.main(write2database.java:33);
l %n 輸出一個回車換行符,Windows平臺為“ ”,Unix平臺為“ ”
程序代碼:
import sun.jdbc.odbc.*;
import java.sql.*;
import org.apache.log4j.Category;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.jdbc.*;
/*
add for log4j: class Logger is the central class in the log4j package.
we can do most logging operations by Logger except configuration.
getLogger(...): retrieve a logger by name, if not then create for it.
*/
static Logger logger = Logger.getLogger
( write2database.class.getName () ) ;
/*
add for log4j: class BasicConfigurator can quickly configure the package.
print the information to console.
*/
PropertyConfigurator.configure ( "log4j2database.properties" ) ;
logger.info ( "just test" ) ;
posted on 2006-03-03 21:31
水煮三國 閱讀(2191)
評論(0) 編輯 收藏 所屬分類:
Log4J