程序员人生 网站导航

log4j.xml简介

栏目:综合技术时间:2015-08-14 08:45:08
前言
    上篇我们刚介绍了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配置更加灵活,也能够是我们的工作更加的便利。
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐