Commons 閱讀筆記 之 Log4J 篇
?配置Log4J問題:
Log4J支持Properties和XML兩種格式的配置文件。
解決方案:
定義log4j.properties配置文件
# 所有Log信息輸出到標(biāo)準(zhǔn)輸出(System.out)和在下面指定的一個文件 # WARN是默認(rèn)的logging級別 log4j.rootCategory = WARN, STDOUT, FILE # 應(yīng)用程序的logging級別是DEBUG log4j.logger.com.discursive = DEBUG # 配置標(biāo)準(zhǔn)輸出Appender log4j.appender.STDOUT = org.apache.log4j.ConsoleAppender log4j.appender.STDOUT.layout = org.apache.log4j.PatternLayout log4j.appender.STDOUT.layout.ConversionPattern = %5p (%F:%L) %m%n # 配置輸出文件Appender log4j.appender.FILE = org.apache.log4j.RollingFileAppender log4j.appender.FILE.File = output.log log4j.appender.FILE.MaxFileSize = 2000KB log4j.appender.FILE.MaxBackupIndex = 5 log4j.appender.FILE.layout = org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern = %d %-5p %c - %m%n |
PropertyConfigurator.configure(getClass() .getResource("/resources/log4j.properties")); Logger logger = Logger.getLogger("com.discursive.SomeApp"); logger.info("This is a info message"); logger.error("This is a error message"); |
使用BasicConfigurator類來加載log4j.properties配置。使用Logger.getLogger獲得一個logger實例。
配置文件中的rootCategory指定將log輸出到控制臺和output.log文件。文件Appender使用了RollingFileAppender,當(dāng)文件大小達(dá)到最大文件大小(MaxFileSize)2000KB時,RollingFileAppender會備份原log文件,并再創(chuàng)建一個新的log文件。
配置文件指定默認(rèn)的logging級別是DEBUG(log4j.logger.com.discursive = DEBUG)。所以,所有級別低于DEBUG的log信息都不會被輸出。Log4J按重要度定義了五個log級別,分別是:DEBUG, INFO, WARN, ERROR, 和FATAL。
其他:
Log4J還可以使用XML格式的配置文件,使用DOMConfigurator讀取。
Log4J使用Appender和Layout來定制log輸出。Appender指定輸出到何處,Layout指定如何輸出(輸出的格式)。
Log4J內(nèi)置的Appender有:
?SMTPAppender
?RollingFileAppender
?SocketAppender
?SyslogAppender
?NTEventLogAppender
Log4J支持的Layout有
?XMLLayout
?PatternLayout
?HTMLLayout
?DateLayout.
posted on 2005-04-14 15:12 輕松 閱讀(1497) 評論(0) 編輯 收藏 所屬分類: JAVA轉(zhuǎn)貼