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