log4j.xml简介

前言

上篇我们刚介绍了log4j.properties,但是log4j除了提供了properties的配置文件还有xml配置文件,但是目前大家还是使用log4j.xml的较多,因为它可以支持log4j.properties所不能支持的一些特性。

正题

1. log4j.properties VS log4j.xml

1) Log4j在执行的时候一般是先找log4j.xml然后再找log4j.properties. 但是配置文件需要放置到src文件夹下。

2) properties文件比xml文件更简便,因为xml还需要log4j.dtd还有dom4j.jar(高版本中会有,本次我的测试使用的是1.2.16version)。

3) properties文件不支持一些高级的配置,如Filters,custom ErrorHandlers和一些特殊类型的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-8" ?>
<!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] %-5p %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] %-5p %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配置更加灵活,也可以是我们的工作更加的便利。

时间: 2024-08-28 19:42:53

log4j.xml简介的相关文章

log4j.xml与log4j.dtd的配置详细说明与使用

1.log4j.dtd .dtd文件是对相应.xml进行约束验证用的.这里不做介绍了,详细见上一篇关于dtd的介绍:xml基础.DTD验证.Schema验证 log4j.dtd的文件: <?xml version="1.0" encoding="UTF-8" ?> <!-- Authors: Chris Taylor, Ceki Gulcu. --> <!-- Version: 1.2 --> <!-- A configur

log4j.xml的实用例子

大多数讲log4j配置的教程用的都是log4j.properties文件,我觉得xml或许更好一点,在这里我提供一个我已经用于生产环境的log4j.xml的例子,先上代码,然后再解释: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.

ehcache.xml简介

这是从网上找的一片关于ehcache.xml的简介 ehcache.xml简介 ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的.根据之前我们在<Ehcache简介>一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的.在不指定配置信息参数创建CacheManager时,CacheManager将首先在类路径的根目录下寻找一个叫ehcache.xml的文件作为Cache

log4j.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- 根节点的配置顺序: renderer appender pl

log4j日志文件 log4j.xml log4j.properties配置

1,导入log4j  jar包; 2,配置log4j.xml或log4j.properties文件; ----------------------------------------------------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuratio

xml简介

1.什么是xml? XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,即定义了用于定义其他与特定领域有关的.语义的.结构化的标记语言的句法语言. 2.xml历史 说起xml很多人会想到html,那么html与xml的关系是什么呢?其实xml与html是表亲的关系,xml并不能完全替代html,xml与html是为不同的目的而设计的,xml的核心是包涵和传输数据,html的核心是显示数据. 3.xml语法 在此文件中的第一行即是文件序言,文件的其余部

解决log4j.xml问题http//jakarta.apache.org/log4j/ uri is not registered

在Eclipse中,配置log4j.xml出现"http //jakarta.apache.org/log4j/ uri is not registered"的错误信息. 原始的log4j.xml配置文件: <?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4

log4j(七)——log4j.xml简单配置样例说明

一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下的 package test.log4j.test8; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; /** * Cre

java中的xml简介与DOM解析xml

1. xml简介 XML:指可扩展标记语言, Extensible Markup Language:类似HTML.XML的设计宗旨是传输数据,而非显示数据. 一个xml文档实例: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <company name="Tencent" address="深圳市南山区"> 3 <department deptNo=&quo