Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2468679
  • 博文数量: 392
  • 博客积分: 7040
  • 博客等级: 少将
  • 技术积分: 4138
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-17 13:03
个人简介

范德萨发而为

文章分类

全部博文(392)

文章存档

2017年(5)

2016年(19)

2015年(34)

2014年(14)

2013年(47)

2012年(40)

2011年(51)

2010年(137)

2009年(45)

分类: Java

2012-09-06 11:21:56

补充下配置说明:         
               
               
   
 

这一句中得looger name里指的是某个packege,然后appender-ref就是指定这个包对应使用activexAppender这个配置,将日志输出到console或者文件


log4j.xml配置(转载)  

2012-02-21 17:56:35|  分类: 默认分类 |字号 

Xml代码


     
     
        
     
        
         
             
                            value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />     
       
     
             
             
                 
                 
                 
       
     
   
     
     
            
             
             
             
             
             
                 
       
     
   
     
       
         
               
               
             
                     value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />     
       
       
   
     
        
         
         
               
               
   
     
     
         
         
             
             
                
   
     

   

(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        输出产生该日志事件的线程名

xml declaration and DTD

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

log4j:configuration (root element)
  • xmlns:log4j [#FIXED attribute] : 定义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的构造方法不接受其它的参数。

... ... ... ... ... ... ... ... ... ...创建FileAppender对象

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

... ... ... ... ... ... ... ... ... ...创建RollingFileAppender对象

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

... ... ... ... ... ... ... ... ... ...创建PatternLayout对象

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

... ... ... ... ... ... ... ...
     
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 The project offers a framework for logging aspects in Java software components. Today Apache Log4j is a defacto standard to realize priority/level based log messages in Java and .Net environments. The developer has to understand the following Log4J elements and classes to use this logging framework.

  • Appenders - defines handlers how to persist log entries, for example FileAppenders, SMTPAppenders, JDBCAppenders and so on
  • Level/Priority - diffentent levels of logging entries, e.g. INFO, DEBUG, ERROR, TRACE, ...
  • Logger - defines relations between packages and appenders, e.g. all classes of org.developers.* should be save per special appender
  • ...
You can configure your logging parameters per log4j.xml file, which should be saved at the root directory of your jar or source folder. The following log4j.xml file contains an basic configuration: Regards
Rafael Sobek                                     
阅读(2663) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~