前導
log4j是一個用Java編寫的可靠浇垦,快速和靈活的日志框架(API),它在Apache軟件許可下發(fā)布荣挨。
Log4j已經(jīng)被移植到了C男韧,C++,C#默垄,Perl此虑,和Ruby等語言中。
Log4j是高度可配置的口锭,并可通過在運行時的外部文件配置朦前。它根據(jù)記錄的優(yōu)先級別介杆,并提供機制,以指示記錄信息到許多的目的地韭寸,諸如:數(shù)據(jù)庫春哨,文件,控制臺恩伺,UNIX系統(tǒng)日志等赴背。
Log4j中有三個主要組成部分:
- loggers:負責捕獲記錄信息。
- appenders :負責發(fā)布日志信息晶渠,以不同的首選目的地
- layouts:負責格式化不同風格的日志信息凰荚。
Log4J特性:
log4j的是線程安全的
log4j是經(jīng)過優(yōu)化速度的
log4j是基于一個名為記錄器的層次結(jié)構(gòu)
log4j的支持每個記錄器多輸出追加器(appender)
log4j支持國際化。
log4j并不限于一組預(yù)定義的設(shè)備
日志行為可以使用配置文件在運行時設(shè)置log4j設(shè)計從一開始就是處理Java異常log4j使用多個層次褒脯,ALL便瑟,TRACE,DEBUG憨颠,INFO胳徽,WARN,ERROR和FATAL
日志輸出的格式可以通過擴展Layout類容易地改變?nèi)罩据敵龅哪繕怂约霸趯懭氩呗钥赏ㄟ^實現(xiàn)Appender程序接口改變log4j 會故障停止养盗。然而,盡管它肯定努力確保傳遞适篙,log4j不保證每個日志語句將被傳遞到目的地
日志記錄的優(yōu)缺點
日志是軟件開發(fā)的重要組成部分往核。一個精心編寫的日志代碼提供快速的調(diào)試,維護方便嚷节,以及應(yīng)用程序的運行時信息結(jié)構(gòu)化存儲聂儒。
日志記錄確實也有它的缺點。它可以減緩的應(yīng)用程序硫痰。如果太詳細衩婚,它可能會導致滾動失明。為了減輕這些影響效斑,log4j被設(shè)計為是可靠非春,快速和可擴展。
由于記錄很少為應(yīng)用的主要重點缓屠,但log4j API致力于成為易于理解和使用