log4j.xml簡介
來源:程序員人生 發布時間:2015-08-14 08:45:08 閱讀次數:2519次
前言
上篇我們剛介紹了log4j.properties,但是log4j除提供了properties的配置文件還有xml配置文件,但是目前大家還是使用log4j.xml的較多,由于它可以支持log4j.properties所不能支持的1些特性。
正題
1. log4j.properties VS log4j.xml
1) Log4j在履行的時候1般是先找log4j.xml然后再找log4j.properties. 但是配置文件需要放置到src文件夾下。
2) properties文件比xml文件更簡便,由于xml還需要log4j.dtd還有dom4j.jar(高版本中會有,本次我的測試使用的是1.2.16version)。
3) properties文件不支持1些高級的配置,如Filters,custom ErrorHandlers和1些特殊類型的appenders(如AsyncAppender)。
4) properties文件中只能定義日志的最低級別(如果級別設定的是INFO,那末就會記錄FATAL ,ERROR ,WARN ,INFO的日志),但是由于xml支持Filter,所以它可以指定級別(如果指定了最低級別INFO,最高級別WARN,那末就只會記錄這兩個級別的日志)。
2.log4j.xml配置
上篇我們解釋了log4j.properties的配置,那我們這里將上篇中的log4j.properties的配置轉換成log4j.xml
<?xml version="1.0" encoding="UTF⑻" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="ERRORFILE" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="ERROR" />
<param name="File" value="F:/error.log" />
<param name="MaxFileSize" value="2000MB"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %⑸p %c - %m%n" />
</layout>
</appender>
<appender name="WELCOMEFILE" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="INFO" />
<param name="File" value="F:/welcome.log" />
<!-- 日志文件允許的最大字節數(默許是10M) -->
<param name="MaxFileSize" value="2000MB"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %⑸p %c - %m%n" />
</layout>
<!--過濾器設置輸出的級別,只能記錄INFO和WARN級別的日志-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="INFO" />
<param name="levelMax" value="WARN" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<logger name="org.apache.commons.httpclient">
<level value="ERROR" />
</logger>
<!-- 這里雖然定義了DEBUG級別,但是由于WELCOMEFILE定義的是INFO級別,所以在WELCOMEFILE中我們能看到的也都是INFO級別的日志 -->
<logger name="com.dan.test">
<level value="DEBUG" />
<appender-ref ref="WELCOMEFILE" />
</logger>
<root>
<level value="ERROR" />
<appender-ref ref="ERRORFILE" />
<appender-ref ref="WELCOMEFILE" />
</root>
</log4j:configuration>
小結:
log4j.xml相比log4j.properties配置更加靈活,也能夠是我們的工作更加的便利。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈