在下載struts相關(guān)類文件的時(shí)候,包內(nèi)已包括commons-logging.jar。這個(gè)文件只包括SimpleLog和NoOpLog兩種日志的實(shí)現(xiàn)。如果采用第3方日志實(shí)現(xiàn),如Log4J,則應(yīng)該單獨(dú)下載它的包文件,把JAR文件放到WEB-INF/lib目錄下。
(1)指定日志器
通用日志接口從名為“commons-logging.properties”屬性文件中獲取實(shí)現(xiàn)日志接口的日志器信息。在該文件中的“org.apache.commons.logging.Log”屬性指定日志實(shí)現(xiàn)類。如果采用Log4J日志器,則此屬性做如下設(shè)置:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog。
(2)配置日志器[這里說(shuō)的是Log4J的配置]
Log4J有三個(gè)組件構(gòu)成,Logger,Appender和Layout.Log4J支持兩種配置文件:一種是XML格式的文件,一種是java屬性文件。下面介紹如何已JAVA屬性文件的格式來(lái)創(chuàng)建Log4J的配置文件。配置Log4J,主要的設(shè)置Logger,Appender和Layout的屬性。
1,配置Logger組件。
Logger組件支持繼承關(guān)系,所有的Logger組件都直接或間接的繼承rootLogger。配置語(yǔ)法為:log4j.rootLogger=[priority],appenderName1,appenderName2
priority為日志級(jí)別,可選值包括OFF,F(xiàn)ATAL,ERROR,WARN,INFO,DEBUG,TRACE,ALL。
appenderName指定Appender組件,用戶可以同時(shí)指定多個(gè)Appender組件
例子:
#configure root logger
log4j.rootLogger=INFO,console
#define a logger named helloapplogger
log4j.logger.helloapplogger=DEBUG,console
2,配置Appender組件
這個(gè)主件就是配置日志消息輸出的目的地。語(yǔ)法為:
log4j.appender.appenderName=fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1=value1
..........................................
Log4J提供的Appender有一下幾種:
org.apache.log4j.ConsoleAppender(控制臺(tái))
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個(gè)日志文件)
org.apache.log4j.RollingFileAppender(文件大小達(dá)到指定尺寸的時(shí)候產(chǎn)生一個(gè)新的文件)
org.apache.log4j.WriterFileAppender(將日志的消息以流格式發(fā)送到任意的地方)
例子:
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log.txt
3,配置Layout組件
配置語(yǔ)法為:
log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1=value1
.................................................
Log4J提供的Layout有一下幾種:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(靈活指定布局格式)
org.apache.log4j.SimpleLayout(包含日志消息的級(jí)別和信息字符串)
org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時(shí)間,線程和類別信息)
例子:
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
以上算是把log4J給配置好了。下面是講在程序中如何訪問(wèn)它。主要分為3步。
1、獲得日志器。
獲得rootLogger:
Logger rootLogger=Logger.getRootLoger();
獲取自定義的日志器:
Logger helloappLogger=Logger.getLogger("helloappLogger");
2、讀取配置文件,配置Log4J環(huán)境。
BasicConfigurator.configure();自動(dòng)快速地使用默認(rèn)Log4J環(huán)境
PropertyConfigurator.configure(String configfilename);讀取JAVA屬性文件并配置Log4J環(huán)境
DOMConfigurator.configure(String filename);讀取XML形式的培植文件并配置Log4J環(huán)境。
3、輸出日志信息。
helloappLogger.warn("This in a log message from the"+helloappLogger.getName());
希望以上內(nèi)容對(duì)大家學(xué)習(xí)log4j有幫助