Java日志(二):log4j与XML配置文件


【Java日志(一):log4j与.properties配置文件】一文列举的几个案例以.properties文件作为log4j的配置文件,本文简单看一下log4j与XML配置文件


(1)XML配置文件

XML配置文件的头部包括两个部分:XML声明和DTD声明,头部的格式如下:

<?xml version="1.0" encoding="UTF-8" ?>
DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

下面这段代码是LZ直接从参考文章(1)处拿过来的代码,做了一些修改与说明,后面也会补上一些其他的内容,希望原作者不会介意

<?xml version="1.0" encoding="UTF-8"?>
DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
  
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
  
    <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
             <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
        layout>
        
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="levelMin" value="INFO" />
            <param name="levelMax" value="WARN" />
            <param name="AcceptOnMatch" value="true" />
        filter>
    appender>

    <appender name="myFile" class="org.apache.log4j.RollingFileAppender">  
        <param name="File" value="D:/output.log" />
        
        <param name="Append" value="true" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
        layout>
    appender>
 
    <appender name="activexAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="E:/activex.log" /> 
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /> 
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
        layout> 
    appender>
  
    
    <logger name="com.runway.bssp.activeXdemo" additivity="false">
        <priority value ="info"/> 
        <appender-ref ref="activexAppender" /> 
    logger>

    
    <root>
        <priority value ="debug"/>
        <appender-ref ref="myConsole"/>
        <appender-ref ref="myFile"/>    
    root>
log4j:configuration>

解说:上述配置文件定义了多个节点元素, 一个节点元素定义一个日志输出目的地,输出方式appender一般有org.apache.log4j.ConsoleAppender (控制台)等几种方式,参考文章(1)对上述配置文件中的各个节点的含义有详细的说明,此处不再赘述


(2)在代码中加载XML形式配置文件

DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件

 未完待续

参考文章

(1)http://willow-na.iteye.com/blog/347340

(2)http://www.cnblogs.com/crazyacking/p/5653716.html