zoukankan      html  css  js  c++  java
  • 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>
            <!--过滤器设置输出的级别(INFO-WARN),将levelMin与levelMax设置为相同的值,则可实现只输出某个级别的日志-->
            <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子元素定义一个日志写出器,指定logger的设置,定义只打印某个包或其下某个类的某种级别的日志,additivity指示是否遵循缺省的继承机制-->
        <logger name="com.runway.bssp.activeXdemo" additivity="false">
            <priority value ="info"/> 
            <appender-ref ref="activexAppender" /> 
        </logger>
    
        <!-- 根logger的设置-->
        <root>
            <priority value ="debug"/>
            <appender-ref ref="myConsole"/>
            <appender-ref ref="myFile"/>    
        </root>
    </log4j:configuration>

    解说:上述配置文件定义了多个<appender></appender>节点元素, 一个<appender></appender>节点元素定义一个日志输出目的地,输出方式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

  • 相关阅读:
    webapi 中使用 protobuf
    apache httpclient cache 实现可缓存的http客户端
    编译nginx时提示undefined reference to 'pcre_free_study' 的问题及解决
    深入理解JVM内存回收机制(不包含垃圾收集器)
    从JDK源码理解java引用
    Buffer的创建及使用源码分析——ByteBuffer为例
    二叉树的子结构、深度以及重建二叉树
    数据结构——树与二叉树的遍历
    Java NIO之Buffer的使用
    Java多线程之synchronized详解
  • 原文地址:https://www.cnblogs.com/studyLog-share/p/4573025.html
Copyright © 2011-2022 走看看