`
garyli
  • 浏览: 176759 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

log4j.xml 配置

    博客分类:
  • java
 
阅读更多

  1. <?xml version="1.0" encoding="UTF-8"?>    
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">    
  3. <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >    
  4.       
  5.     <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">    
  6.         <layout class="org.apache.log4j.PatternLayout">    
  7.             <param name="ConversionPattern"      
  8.                 value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />    
  9.         </layout>    
  10.         <!--过滤器设置输出的级别-->    
  11.         <filter class="org.apache.log4j.varia.LevelRangeFilter">    
  12.             <param name="levelMin" value="debug" />    
  13.             <param name="levelMax" value="warn" />    
  14.             <param name="AcceptOnMatch" value="true" />    
  15.         </filter>    
  16.     </appender>    
  17.     
  18.     <appender name="myFile" class="org.apache.log4j.RollingFileAppender">      
  19.         <param name="File" value="D:/output.log" /><!-- 设置日志输出文件名 -->    
  20.         <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->    
  21.         <param name="Append" value="true" />    
  22.         <param name="MaxBackupIndex" value="10" />    
  23.         <layout class="org.apache.log4j.PatternLayout">    
  24.             <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />    
  25.         </layout>    
  26.     </appender>    
  27.       
  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.   
  39.     <!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->    
  40.     <logger name="com.runway.bssp.activeXdemo" additivity="false">    
  41.         <priority value ="info"/>     
  42.         <appender-ref ref="activexAppender" />     
  43.     </logger>    
  44.     
  45.     <!-- 根logger的设置-->    
  46.     <root>    
  47.         <priority value ="debug"/>    
  48.         <appender-ref ref="myConsole"/>    
  49.         <appender-ref ref="myFile"/>      
  50.     </root>    
  51. </log4j:configuration>   
配置参数说明:
(1). 输出方式appender一般有5种:
[plain] view plaincopy
  1. org.apache.log4j.RollingFileAppender(滚动文件,自动记录最新日志)  
  2. org.apache.log4j.ConsoleAppender (控制台)    
  3. org.apache.log4j.FileAppender (文件)  
  4. org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)  
  5. org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)  
 
(2). 日记记录的优先级priority,优先级由高到低分为 
          
[plain] view plaincopy
  1. <span style="white-space:pre">  </span>    OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。  
  2.  <span style="white-space:pre"> </span>    Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。  


(3). 格式说明layout中的参数都以%开始,后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):
[plain] view plaincopy
  1. %c        输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)  
  2. %d       输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}  
  3. %l        输出日志事件发生位置,包括类目名、发生线程,在代码中的行数  
  4. %n       换行符  
  5. %m      输出代码指定信息,如info(“message”),输出message  
  6. %p       输出优先级,即 FATAL ,ERROR 等  
  7. %r        输出从启动到显示该log信息所耗费的毫秒数  
  8. %t        输出产生该日志事件的线程名  


xml配置文件详解:

 
[plain] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  
  3.             
  4. log4j:configuration (root element)   
  5.     xmlns:log4j [#FIXED attribute] : 定义log4j的名字空间,取定值"http://jakarta.apache.org/log4j/"  
  6.     appender [* child] : 一个appender子元素定义一个日志输出目的地  
  7.           
  8.         name [#REQUIRED attribute] : 定义appender的名字,以便被后文引用  
  9.         class [#REQUIRED attribute] : 定义appender对象所属的类的全名  
  10.         param [* child] : 创建appender对象时传递给类构造方法的参数  
  11.         layout [? child] : layout元素定义与某一个appender相联系的日志格式化器。  
  12.   
  13.   
  14.                 class [#REQUIRED attribute] : 定义layout对象所属的类的全名  
  15.                 param [* child] : 创建layout对象时传递给类构造方法的参数  
  16.   
  17.   
  18.     logger [* child] : 一个logger子元素定义一个日志写出器  
  19.   
  20.   
  21.         name [#REQUIRED attribute] : 定义logger的名字,以便被后文引用  
  22.         additivity [#ENUM attribute] : 取值为"true"(默认)或者"false",是否继承父logger的属性  
  23.         level [? child] : 定义该logger的日志级别  
  24.         appender-ref [* child] : 定义该logger的输出目的地  
  25.   
  26.   
  27.     root [? child] : root子元素定义了root logger   
  28.         param [* child] : 创建root logger对象时传递给类构造方法的参数  
  29.         level [? child] : 定义root logger的日志级别  
  30.             class [#IMPLIED attribute] : 定义level对象所属的类,默认情况下是"org.apache.log4j.Level类  
  31.             value [#REQUIRED attribute] : 为level对象赋值。可能的取值从小到大依次为"all"、"debug"、"info"、"warn"、"error"、"fatal"和"off"。当值为"off"                               时表示没有任何日志信息被输出  
  32.             param [* child] : 创建level对象时传递给类构造方法的参数  
  33.             appender-ref [* child] :元素引用一个appender元素的名字,为logger对象增加一个appender。  
  34.    



 
param元素没有子元素
在xml文件中配置appender和layout
创建不同的Appender对象或者不同的Layout对象要调用不同的构造方法。可以使用param子元素来设定不同的参数值。
创建ConsoleAppender对象
ConsoleAppender的构造方法不接受其它的参数。
 
[plain] view plaincopy
  1. <appender name="console.log" class="org.apache.log4j.ConsoleAppender">  
  2.   <layout ... >  
  3.     ... ...  
  4.   </layout>  
  5. </appender>  


          
 
创建FileAppender对象
可以为FileAppender类的构造方法传递两个参数:File表示日志文件名;Append表示如文件已存在,是否把日志追加到文件尾部,可能取值为"true"和"false"(默认)。
 
[plain] view plaincopy
  1. <appender name="file.log" class="org.apache.log4j.FileAppender">  
  2.   <param name="File" value="/tmp/log.txt" />  
  3.   <param name="Append" value="false" />  
  4.   <layout ... >  
  5.     ... ...  
  6.   </layout>  
  7. </appender>  


 
创建RollingFileAppender对象
除了File和Append以外,还可以为RollingFileAppender类的构造方法传递两个参数:MaxBackupIndex备份日志文件的个数(默认是1个);MaxFileSize表示日志文件允许的最大字节数(默认是10M)。
 
[plain] view plaincopy
  1. <appender name="rollingFile.log" class="org.apache.log4j.RollingFileAppender">  
  2.   <param name="File" value="/tmp/rollingLog.txt" />  
  3.   <param name="Append" value="false" />  
  4.   <param name="MaxBackupIndex" value="2" />  
  5.   <param name="MaxFileSize" value="1024" />  
  6.   <layout ... >  
  7.     ... ...  
  8.   </layout>  
  9. </appender>  


          
 
创建PatternLayout对象
可以为PatternLayout类的构造方法传递参数ConversionPattern。
 
[plain] view plaincopy
  1. <layout class="org.apache.log4j.PatternLayout>  
  2.   <param name="Conversion" value="%d [%t] %p - %m%n" />  
  3. </layout>  
分享到:
评论

相关推荐

    log4j.xml配置文件

    log4j.xml配置文件

    log4j.xml(MyBatis框架)

    这里是log4j.xml详细的配置,在使用MyBatis框架时必要的一种配置。

    log4j.jar及log4j.xml

    以上内容详细介绍了Log4j.jar的核心组件和log4j.xml配置文件的作用,它们共同构成了Log4j日志框架的基础。通过合理的配置和使用,Log4j能够为开发者提供强大且灵活的日志管理能力,帮助他们更好地监控和维护Java应用...

    log4j.xml配置

    log4j的配置文件,方便大家使用.log4j的基本

    log4j与web.xml的配置

    4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j....

    Log4j2学习log4j2.xml配置模板

    下面是一个较为完整的 Log4j2.xml 配置模板: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!--日志级别以及优先级排序: OFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; TRACE &gt; ALL --&gt; &lt;!--Configuration 后面...

    log4j的详细配置,log4j.xml和log4j.properties,日志输出到文件,邮件,数据库,控制台等

    1. **XML配置** (`log4j.xml`) - **基本结构**:`log4j.xml`文件遵循XML语法,根元素是`&lt;configuration&gt;`,包含`&lt;appenders&gt;`, `&lt;loggers&gt;`, `&lt;root&gt;`等子元素。 - **Appenders**:这是定义日志输出目标的地方,...

    Log4J.xml的模板

    在Log4J.xml配置文件中,主要包含以下几个核心元素和知识点: 1. **Configuration**:这是配置文件的根元素,所有其他设置都包含在这个元素内。 2. **Appenders**:这部分定义了日志信息的输出目的地,如控制台、...

    log4j.xml 配置文件

    log4j 的配置文件示例 log4j是很好用的日志,建议项目里面都用上.

    log4j.xml

    《深入解析log4j.xml配置》 在Java开发中,日志记录是不可或缺的一部分,而Log4j作为一款广泛使用的日志框架,它的配置文件log4j.xml扮演着至关重要的角色。本文将深入探讨log4j.xml配置文件的结构、用途及其中的...

    log4j2.xml配置

    spring5取消Log4jConfigListener,运用Log4jServletContextListener代替Log4jConfigListener(log4j2.xml的配置)

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...

    log4j.xml配置实现.pdf

    如果文件路径以`.xml`结尾,那么使用`DOMConfigurator.configure()`来解析XML配置文件;否则,假设配置文件是`.properties`格式,使用`PropertyConfigurator.configure()`进行配置。在应用关闭时,`contextDestroyed...

    log4j.xml template

    一个比较通用的log4j.xml配置模板

    spring-log4j.xml

    log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例log4j.xml配置范例

    log4j.xml文件的配置文.pdf

    ### 关于Log4j.xml配置文件的理解与应用 #### 一、引言 在Java开发领域,日志记录是至关重要的一个环节。它不仅能够帮助开发者更好地了解程序运行时的状态,还能在出现故障时快速定位问题所在。Log4j作为一款优秀...

    日志配置文件log4j.xml以及MySql数据库驱动文件

    本篇文章将深入探讨这两个关键组件:日志配置文件`log4j.xml`和MySQL数据库驱动文件`mysql-connector-java-5.1.39-bin.jar`。 首先,我们来了解`log4j.xml`。Log4j是Apache组织提供的一款开源的日志记录框架,广泛...

    log4j2.xml记录日志到到数据库

    总结,Log4j2通过XML配置文件实现了与MySQL数据库的集成,允许开发者将日志信息存储在数据库中,便于长期保存和分析。理解Log4j2的配置和使用是每个Java开发者必备的技能,这对于日后的故障排查和系统维护至关重要。...

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

    在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` &lt;listener-class&gt;org.springframework.web.util.Log4...

Global site tag (gtag.js) - Google Analytics