Log4j應用實例

編寫配置文件myLog4j.properties
#定義3個輸出端
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\')


最後測試程序如下:
    public static void sample()
    
{
        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文件中,如下:
發佈了5 篇原創文章 · 獲贊 5 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章