log4j.rootCategory=INFO,A1,A2,A3
#定義A1輸出到控制器
log4j.appender.A1=org.apache.log4j.ConsoleAppender
#定義A1的佈局模式爲PaternLayout
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# 定義A1的輸出格式
log4j.appender.A1.layout.ConversionPattern=%4p [%t] (%F:%L) - %m%n
#定義A2輸出到文件
log4j.appender.A2=org.apache.log4j.RollingFileAppender
#定義A2輸出到哪個文件
log4j.appender.A2.File=./Sample.log
#定義A2輸出文件的最大長度
log4j.appender.A2.MaxFileSize = 1KB
#定義A2的備份文件數
log4j.appender.A2.MaxBackupIndex = 3
#定義A2的佈局模式爲PatternLayout
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
#定義A2的輸出模式
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
#定義A3輸出到數據庫
log4j.appender.A3=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A3.URL=jdbc:mysql://localhost:3306/study
log4j.appender.A3.driver=com.mysql.jdbc.Driver
log4j.appender.A3.user=root
log4j.appender.A3.password=root
#定義A3的佈局和執行的SQL語句
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=INSERT INTO log4j(createDate,thread,level,class,message) values(\'%d\',\'%t\',\'%-5p\',\'%c\',\'%m\')
最後測試程序如下:
{
Logger logger = Logger.getLogger(Log4jTest.class);
PropertyConfigurator.configure("myLog4j.properties");
logger.debug("Here is DEBUG messgae");
logger.info("Here is INFO message");
logger.warn("Here is WARN message");
logger.error("Here is ERROR message");
logger.fatal("Here is FATAL message");
}
控制檯:
數據庫:
文件:
我們已經看到出現Sample.log文件,該文件我們在配置中指定,當然你也可以修改其它地方,另外Log4j的配置文件也放在項目根目錄下。
同時當我們多運行幾次該程序時,Sample.log超過1KB時就會將該文件自動改名,同時再將日誌記錄到新的Sample.log文件中,如下: