我们如何查看一个系统的运行情况,有两种方法,一查看服务器的日志。二就是查看系统的日志。通常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,第三个参数是日志记录的级别。第四个参数为例外信息。