`

Log4j配置详解之log4j.xml

 
阅读更多

一、log4j.jar包下载地址:http://logging.apache.org/log4j/1.2/download.html

二、配置文件类型:log4j配置文件可以是log4j.xml也可以是log4j.properties

 

log4j.xml配置说明

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>       
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">       
  3.           
  4. <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >       
  5.           
  6.     <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">       
  7.         <layout class="org.apache.log4j.PatternLayout">       
  8.             <param name="ConversionPattern"          
  9.                 value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />       
  10.         </layout>       
  11.         <!--过滤器设置输出的级别-->       
  12.         <filter class="org.apache.log4j.varia.LevelRangeFilter">       
  13.             <param name="levelMin" value="debug" />       
  14.             <param name="levelMax" value="warn" />       
  15.             <param name="AcceptOnMatch" value="true" />       
  16.         </filter>       
  17.     </appender>       
  18.        
  19.     <appender name="myFile" class="org.apache.log4j.RollingFileAppender">          
  20.         <param name="File" value="D:/output.log" /><!-- 设置日志输出文件名 -->       
  21.         <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->       
  22.         <param name="Append" value="true" />       
  23.         <param name="MaxBackupIndex" value="10" />       
  24.         <layout class="org.apache.log4j.PatternLayout">       
  25.             <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />       
  26.         </layout>       
  27.     </appender>       
  28.          
  29.     <appender name="activexAppender" class="org.apache.log4j.DailyRollingFileAppender">       
  30.         <param name="File" value="E:/activex.log" />         
  31.         <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />         
  32.         <layout class="org.apache.log4j.PatternLayout">       
  33.          <param name="ConversionPattern"         
  34.             value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />       
  35.         </layout>         
  36.     </appender>       
  37.           
  38.     <!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->       
  39.     <logger name="com.runway.bssp.activeXdemo" additivity="false">       
  40.         <priority value ="info"/>         
  41.         <appender-ref ref="activexAppender" />         
  42.     </logger>       
  43.        
  44.     <!-- 根logger的设置-->       
  45.     <root>       
  46.         <priority value ="debug"/>       
  47.         <appender-ref ref="myConsole"/>       
  48.         <appender-ref ref="myFile"/>          
  49.     </root>       
  50. </log4j:configuration>  

 

(1). 输出方式appender一般有5种:

org.apache.log4j.RollingFileAppender(滚动文件,自动记录最新日志)

org.apache.log4j.ConsoleAppender (控制台)

org.apache.log4j.FileAppender (文件)

org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)

org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方) 


(2). 日记记录的优先级priority,优先级由高到低分为

OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。

Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。

 

(3). 格式说明layout中的参数都以%开始,后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):

%c        输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)

%d       输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss} 

%l        输出日志事件发生位置,包括类目名、发生线程,在代码中的行数 

%n       换行符

%m      输出代码指定信息,如info(“message”),输出message

%p       输出优先级,即 FATAL ,ERROR 等

%r        输出从启动到显示该log信息所耗费的毫秒数

%t        输出产生该日志事件的线程名

 

log4j.xml配置文件节点详解

 

xml declaration and DTD

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

 

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  

 

 

log4j:configuration (root element)

  • xmlns:log4j [#FIXED attribute] : 定义log4j的名字空间,取定值"http://jakarta.apache.org/log4j/"
  • appender [* child] : 一个appender子元素定义一个日志输出目的地
  • logger [* child] : 一个logger子元素定义一个日志写出器
  • root [? child] : root子元素定义了root logger

 

appender

appender元素定义一个日志输出目的地。

  • name [#REQUIRED attribute] : 定义appender的名字,以便被后文引用
  • class [#REQUIRED attribute] : 定义appender对象所属的类的全名
  • param [* child] : 创建appender对象时传递给类构造方法的参数
  • layout [? child] : 该appender使用的layout对象

 

layout

layout元素定义与某一个appender相联系的日志格式化器。

  • class [#REQUIRED attribute] : 定义layout对象所属的类的全名
  • param [* child] : 创建layout对象时传递给类构造方法的参数

 

logger

logger元素定义一个日志输出器。

  • name [#REQUIRED attribute] : 定义logger的名字,以便被后文引用
  • additivity [#ENUM attribute] : 取值为"true"(默认)或者"false",是否继承父logger的属性
  • level [? child] : 定义该logger的日志级别
  • appender-ref [* child] : 定义该logger的输出目的地

 

root

root元素定义根日志输出器root logger。

  • param [* child] : 创建root logger对象时传递给类构造方法的参数
  • level [? child] : 定义root logger的日志级别
  • appender-ref [* child] : 定义root logger的输出目的地

 

level

level元素定义logger对象的日志级别。 

  • class [#IMPLIED attribute] : 定义level对象所属的类,默认情况下是"org.apache.log4j.Level类
  • value [#REQUIRED attribute] : 为level对象赋值。可能的取值从小到大依次为"all"、"debug"、"info"、"warn"、"error"、"fatal"和"off"。当值为"off"时表示没有任何日志信息被输出
  • param [* child] : 创建level对象时传递给类构造方法的参数

 

appender-ref

appender-ref元素引用一个appender元素的名字,为logger对象增加一个appender。

  • ref [#REQUIRED attribute] : 一个appender元素的名字的引用
  • appender-ref元素没有子元素

 

param

param元素在创建对象时为类的构造方法提供参数。它可以成为appender、layout、filter、errorHandler、level、categoryFactory和root等元素的子元素。

  • name and value [#REQUIRED attributes] : 提供参数的一组名值对
  • param元素没有子元素

 

在xml文件中配置appender和layout

创建不同的Appender对象或者不同的Layout对象要调用不同的构造方法。可以使用param子元素来设定不同的参数值。

创建ConsoleAppender对象

ConsoleAppender的构造方法不接受其它的参数。

 

Xml代码  收藏代码
  1. ... ... ... ...  
  2. <appender name="console.log" class="org.apache.log4j.ConsoleAppender">  
  3.   <layout ... >  
  4.     ... ...  
  5.   </layout>  
  6. </appender>  
  7. ... ... ... ...  

 

 

创建FileAppender对象

可以为FileAppender类的构造方法传递两个参数:File表示日志文件名;Append表示如文件已存在,是否把日志追加到文件尾部,可能取值为"true"和"false"(默认)。

 

Xml代码  收藏代码
  1. ... ... ... ...  
  2. <appender name="file.log" class="org.apache.log4j.FileAppender">  
  3.   <param name="File" value="/tmp/log.txt" />  
  4.   <param name="Append" value="false" />  
  5.   <layout ... >  
  6.     ... ...  
  7.   </layout>  
  8. </appender>  
  9. ... ... ... ...  

 

 

创建RollingFileAppender对象

除了File和Append以外,还可以为RollingFileAppender类的构造方法传递两个参数:MaxBackupIndex备份日志文件的个数(默认是1个);MaxFileSize表示日志文件允许的最大字节数(默认是10M)。

 

Xml代码  收藏代码
  1. ... ... ... ...  
  2. <appender name="rollingFile.log" class="org.apache.log4j.RollingFileAppender">  
  3.   <param name="File" value="/tmp/rollingLog.txt" />  
  4.   <param name="Append" value="false" />  
  5.   <param name="MaxBackupIndex" value="2" />  
  6.   <param name="MaxFileSize" value="1024" />  
  7.   <layout ... >  
  8.     ... ...  
  9.   </layout>  
  10. </appender>  
  11. ... ... ... ...  

 

 

创建PatternLayout对象

可以为PatternLayout类的构造方法传递参数ConversionPattern。

Xml代码  收藏代码
  1. ... ... ... ...  
  2. <layout class="org.apache.log4j.PatternLayout>  
  3.   <param name="Conversion" value="%d [%t] %p - %m%n" />  
  4. </layout>  
  5. ... ... ... ...  
分享到:
评论

相关推荐

    Log4j配置详解高清版

    标题《Log4j配置详解高清版》意味着本文将全面而深入地讲解Log4j的配置方法。Log4j是一个流行的日志框架,被广泛应用于Java应用程序中,用于记录日志信息,便于问题的调试与分析。描述说明文档内容清晰,适合下载...

    log4j.jar及log4j.xml

    要在项目中使用Log4j,首先需要将`log4j.jar`添加到项目的类路径中,然后创建或引用`log4j.xml`配置文件。在代码中,通过以下方式创建和使用Logger: ```java import org.apache.log4j.Logger; public class ...

    SSM整合中的Log4j日志的配置详情

    Log4j 在 SSM 整合中的配置详解 Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM...

    log4j2-所需jar包+配置详解(详细)

     log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn".  系统选择配置文件的优先级(从先到后)如下:  (1).classpath下的名为log4j2-test.json...

    Log4j配置详解.pdf

    ### Log4j配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用于实现灵活的日志管理。它允许开发者通过简单的配置文件来控制日志的输出等级、输出目的地以及日志信息的格式化方式。Log4j支持多种配置...

    log4j配置详解.

    ### Log4j配置详解 #### 一、Log4j配置文件概述 Log4j是一款流行的Java日志框架,被广泛应用于各种规模的应用程序中。它的配置文件(Configuration File)主要用于设置记录器(Logger)的级别、存放器(Appender)...

    SpringBoot框架配置log4j和log4j2的配置代码

    2. **配置文件**:创建`log4j.properties`或`log4j.xml`文件,定义日志级别和输出目的地。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, file log4j.appender.stdout=org.apache....

    Log4j.properties配置详解

    ### Log4j.properties配置详解 #### 一、Log4j简介 Log4j是一个非常流行的Java日志框架,它能够帮助开发者轻松管理日志记录。Log4j的主要优点包括灵活性高、性能好以及易于配置。它由三个核心组件组成:记录器...

    log4j配置文件说明(完整版)

    Log4j 配置文件说明 ...Log4j 配置文件是 Log4j 的核心组件之一,通过配置文件可以控制日志记录的级别、输出目的地和格式。了解 Log4j 配置文件的基本结构和配置方法,可以更好地使用 Log4j 实现日志记录和管理。

    log4j.properties配置详解 使用教程

    ### log4j.properties配置详解与使用教程 #### 一、log4j简介 log4j是Apache的一个开源项目,用于实现日志功能。它提供了一种简单的方式来管理和配置应用程序的日志输出,支持多种输出目的地(如控制台、文件等)...

    log4j详解配置说明

    ### Log4j 配置详解 #### 一、概述 Log4j 是一款非常流行的 Java 日志框架,它提供了一种灵活的日志记录机制。在实际应用中,开发者可以通过简单的配置来实现对日志级别的控制、日志信息的格式化以及日志文件的...

    log4j配置详解

    《Log4j配置详解》 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态,定位问题,以及进行性能分析。Log4j作为一款强大的日志框架,因其灵活性和可配置性而备受青睐。本文将深入探讨Log4j...

    log4j配置和加载方法

    ### Log4j配置与加载方法详解 Log4j是一款由Apache出品的日志记录工具,它提供了灵活的日志级别控制和多样化的日志输出方式,广泛应用于Java应用的开发中。本文将深入解析log4j的配置与加载机制,帮助开发者更好地...

    log4j中配置日志文件相对路径方法(PDF)

    ### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...

    log4j常用配置详解

    ### log4j常用配置详解 ### #### 一、log4j.properties 配置解析 #### 在Java开发领域中,log4j是一款非常流行的日志框架,它提供了丰富的配置选项来满足不同场景下的日志记录需求。本文将详细介绍两种常见的log4j...

    tomcat下的log4j日志配置

    ### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...

    log4j入门到详解

    目录 ...................... 1. Log4j 简介 ........... 2. 下载与使用.............4.2 XML 配置文件详解 .... 4.3 properties 比较详细的例子 4.4 在代码中使用 Log4j .. 4.5 注意事项 . 5. Properties 文件实例说明

    log4j配置详解与使用方法说明

    Log4j 的配置主要通过 `log4j.properties` 或 `log4j.xml` 文件完成,这里我们以 `log4j.properties` 文件为例进行说明。 1. **配置Appender** - **Console Appender**:将日志输出到控制台。 ```properties log...

    com.springsource.org.apache.log4j-1.2.16.jar

    2. 配置灵活性:通过log4j.properties或log4j.xml配置文件,开发者可以定制日志输出的目标、格式、过滤器等。1.2.16版本优化了配置语法,使其更加易读和易用。 3. 多输出目的地:除了常见的控制台和文件,Log4j ...

    java程序log4j配置

    Java程序log4j配置详解 log4j是一个流行的Java日志记录工具,提供了灵活的日志记录和管理功能。在Java程序中,log4j配置正确是非常重要的,本文将详细介绍log4j配置的各个方面。 一、log4j配置文件 log4j的配置...

Global site tag (gtag.js) - Google Analytics