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

  • 相关阅读:
    LeetCode OJ 112. Path Sum
    LeetCode OJ 226. Invert Binary Tree
    LeetCode OJ 100. Same Tree
    LeetCode OJ 104. Maximum Depth of Binary Tree
    LeetCode OJ 111. Minimum Depth of Binary Tree
    LeetCode OJ 110. Balanced Binary Tree
    apache-jmeter-3.1的简单压力测试使用方法(下载和安装)
    JMeter入门教程
    CentOS6(CentOS7)设置静态IP 并且 能够上网
    分享好文:分享我在阿里8年,是如何一步一步走向架构师的
  • 原文地址:https://www.cnblogs.com/studyLog-share/p/4573025.html
Copyright © 2011-2022 走看看