我們如何查看一個系統的運行情況,有兩種方法,一查看服務器的日誌。二就是查看系統的日誌。通常J2EE系統使用log4j來作日誌的記錄。
1.log4j配置文件加載方式
PropertyConfigurator.configure("log4j.properties");
該種方式只對配置文件加載一次。
PropertyConfigurator.configureAndWatch("log4j.properties", 1);
這種方式會啓動一個線程根據配置的第二個參數對配置文件進行監控,如果配置文件有修改則不需重新啓動系統進行加載。
2.log4j配置文件形式
一。等式形式的配置文件形式如下
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.File=test.log
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{HH:mm:ss}]%6p(%F:%L) - %m%n
二。XML格式的配置文件
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="file.log" />
<param name="MaxFileSize" value="5120KB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
此兩種方式都是聲明一類appender供logger關聯
XML格式的配置文件可配置更多信息如
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="ERROR" />
</filter>
可以細緻的配置日誌輸出的最低和最高級別
3.log4j工作原理
log4j的每一條日誌其實是一個LoggingEvent事件
LoggingEvent("ICC.PUB.Log", logger, level, message, t);
上面是我們自己構造一個日誌事件的方式。第一個參數說明日誌記錄的基類,該類提供debug,info,error等日誌記錄方式,日誌記錄也會把在什麼地方調用的該類記錄下來。第二個參數爲記錄日誌的類別。也就是日誌配置文件中對應的appender,第三個參數是日誌記錄的級別。第四個參數爲例外信息。