log4j是什么,Log4j初體驗

 2023-11-19 阅读 25 评论 0

摘要:一句話概括處理過程: ?????? 首先日志消息被創建,然后傳遞給能夠處理日志消息的日志對象,再通過設定日志的輸出方式和輸出格式后,最終日志信息得到處理。 log4j是什么。 優先級??? ?? 從上面的圖可以看到,消息傳來時,首先會經過一

一句話概括處理過程

?????? 首先日志消息被創建,然后傳遞給能夠處理日志消息的日志對象,再通過設定日志的輸出方式和輸出格式后,最終日志信息得到處理。

log4j是什么。

優先級???

?? 從上面的圖可以看到,消息傳來時,首先會經過一個優先級判定。Log4j為日志信息定義了7種不同的優先級,定義這幾個優先級的依據是產生日志信息的源。有時你需要在debug的時候輸出,就像system.out.println();有時你在處理同時1000條數據時,你想看看當前處理的進度,可以通過日志信息輸出。為了區別對待這些不同的日志信息,就定義了不同的優先級。

Logger log=Logger.getLogger(Test.class);
//output different log-message 
log.debug("This is Debug message");
log.info("This is Info message");
log.warn("This is Warn message");
log.error("This is Error message");
log.fatal("This is fatal message");

log4j原理?log4j的優先級列表如下:

優先級別代表的意義
ALL所有信息都輸出
DEBUG程序調試的消息輸出
INFO 程序運行時粗過程的消息
WARN程序可能出現問題的警告消息
ERROR程序出現嚴重的問題的錯誤消息
FATAL程序出現致命的錯誤,應立即停止
OFF關閉日志處理,不輸出

?

?

?

?

?

?

?

一般在程序中經常使用的DEBUG、INFO、WARN和ERROR這四個級別。

Appender

?? 創建完對應級別的logger之后,就是要定義輸出處理了,也就是上圖中的Output Handler。方法是實現接口Appender,這個接口定義日志信息要輸出到什么地方去。常用的Appender實現類如下:

Appender實現類詳細信息
ConsoleAppender把日志信息通過system.out輸出到控制臺窗口。
FileAppender把日志信息輸出到指定的文本中。
DailRollingFileAppender繼承FileAppender,只不過會根據設定天數產生。
RollingFileAppender繼承FileAppender,當日志文件大于摸個設定值時產生新的日志。
WriterAppender把日志信息以流的格式發送到指定的地方。
SMTPAppender把日志信息屹email進行發送。
SocketAppender把日志信息通過Socket的方式發送給遠程日志服務器。
JDBCAppender把日志信息存入數據庫。
SocketHubAppender 把日志信息以Socket的方式發給若干個遠程日志服務器。

?

?

?

?

?

?

?

?

?

?

?

?

Layout

?? 還是上圖,設定好了將日志信息輸出至什么地方之后,就要設置輸出的樣式。方法是實現Layout接口,對日志信息按照指定的格式輸出。

Layout實現類詳細信息
HTMLLayout把日志信息格式化成HTML的表格形式輸出。
SimpleLayout簡單形式輸出,是輸出優先級和內容。
XMLLayout 把日志信息以XML格式進行輸出。
TTCCLayout輸出時間、線程、類別等信息。
PatternLayout按照指定符號格式輸出日志信息。

?

?

?

?

?

?

?

實例代碼如下:

Logger log=Logger.getLogger(Test.class);
HTMLLayout layout=new HTMLLayout();
FileAppender appender=null;
try{appender=new FileAppender(layout,"logfile.htm",true);  
}catch(IOException){e.printStackTrace();
}
//set appender
log.addAppender(appender);
//set level
log.setLevel(Level.DEBUG);
log.debug("This is debug message");

?運行Test類后,在項目的根目錄下產生logfile.htm文件,打開之后,你可以看到日志信息以表格的形式展現。

但是,,,,通過這種代碼方式對log4j設定太不給力,真正常用的是通過配置文件來設置。So, to be continued.....

?

?

轉載于:https://www.cnblogs.com/judastree/archive/2012/11/16/2773316.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/181081.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息