`
Julysea
  • 浏览: 130787 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于Log4j的addivity和additivity

阅读更多

前天在在《问答》里提了一个关于Log4j的问题。起因在于一个网上很流行的Log4j配置文件,不例外的我也采用了

其中开始的一段是这样的


log4j.rootLogger=DEBUG,CONSOLE,A1,im
log4j.addivity.org.apache=true
# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5
%x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRI
TY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n


上面蓝色部分就是我困惑的地方。addivity是做什么用的呢?

一番查询后无果,甚至翻了《log4j The Complete Manual》,于是有了在《问答》中的提问。

其实在《log4j The Complete Manual》中是有些说明的,由于个人的理解力有些差,暂时还没明白。

可是就是“不死心”啊,于是今天又去Google里搜。奇迹出现了……

我搜的是“关于Log4j中addivity的含义”,象通常一样的列出了一系列的相关链接。

不经意间点开一个查看,在页面搜索"addivity",竟然没定位到google简要里的位置,觉得很奇怪。于是返回google看个究竟。揉揉眼睛才看清定位的地方是"additivity"不是"addivity"。

很快关于"additivity"有了答案。

它是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。


那“addivity”呢,如何做答呢?我分析应该是这个原始 log4j配置文件 开发者的笔误吧。间接的证据就是对于"log4j.addivity.org.apache"或是"log4j.addivity"在Google中的搜索99%出自《一个比较全Log4j配置文件》类似的文章,而且引用的都是一个配置文件。而对于"log4j.additivity.org.apache"或是"log4j.additivity"的搜索,会得出很多不同的文章和讲解。

好了,不管addivity了,我相信是原创者的笔误了。由于例子的经典,大家在传递过程中忽略了瑕疵。


6
0
分享到:
评论
5 楼 ghl 2010-08-21  
顶,以前一直在找这个功能,就因为没找到,而且后来也无意看到了那个笔误的配置,但是配置了没用,就接着搜log4j.addivity,看看这个配置是什么意思,结果搜到这,这样让日子分开,查看起来方便多了
4 楼 zyp731 2009-07-06  
颜色配置实在是太难看了。
3 楼 xieke 2009-05-31  
这个属性非常有用,可以让 rootlogger清爽很多
2 楼 kylixs 2008-10-30  
log4j.additivity 真是好用..可以屏蔽某个logger在root logger的输出!
1 楼 yeah505 2008-09-24  
呵呵,我也是不明白这个是什么意思,查找了一下就看到了你的文章。

谢谢了

而且我觉得那个‘经典的配置文件’好像还不止这一个问题。

相关推荐

    log4j和log4j2日志应用文档.docx

    log4j和log4j2日志应用文档 Log4j是一种广泛使用的Java日志框架,提供了灵活的日志记录和管理机制。本文档将详细介绍Log4j和Log4j2的日志应用,包括日志使用和要点相关内容介绍。 配置文件解析 Log4j配置文件的...

    Log4j.properties详细说明

    Log4j.properties 文件是 Log4j 框架的核心配置文件,用于设置记录器的级别、存放器和布局。通过配置,可以创建出 Log4J 的运行环境。下面是 Log4j.properties 文件的详细配置解释。 配置文件格式 Log4j 配置文件...

    log4j多文件输出打印

    log4j.additivity.DEBUG2=false log4j.category.DEBUG2=DEBUG2, CustomAppender log4j.appender.DEBUG2=org.apache.log4j.FileAppender log4j.appender.DEBUG2.File=debug2.log log4j.appender.DEBUG2.layout=org....

    log4j中的dtd文件

    总结来说,`log4j.dtd`是Log4j框架配置的核心组成部分,它定义了配置文件的结构和元素,使得开发者能够根据项目需求灵活地配置日志行为,包括选择不同的日志输出目的地、定制日志格式以及设置日志级别。通过理解和...

    Log4j日志配置说明,Log4j日志配置说明

    log4j.additivity.ttzl=false ``` - **日志级别**:从低到高分别为 TRACE、DEBUG、INFO、WARN、ERROR、FATAL。默认级别为 DEBUG。 - **Appender**:日志输出的目标。可以配置输出到控制台、文件等。 - **Layout**:...

    log4j 介绍

    而Log4j2则是Log4j的后续版本,它在性能和功能上都进行了改进,例如异步日志记录和更高级的配置支持等。在log4j2.x中,尽管还保留了与Log4j 1.x的兼容性,但建议开发者在可能的情况下使用Log4j2的新特性。

    log4j常用配置和Demo

    了解和掌握Log4j的常用配置对于Java开发人员来说至关重要,因为它可以帮助我们调试代码、追踪错误以及监控系统运行状态。下面,我们将深入探讨Log4j的基本概念、配置选项以及一个简单的Demo。 ### 1. Log4j基本概念...

    WebSphere V5 配置log4j

    log4j.additivity.org.apache.ibatis=false ``` 这里特别配置了iBATIS的日志级别为DEBUG,以便输出SQL执行情况。 3. **部署与测试**:将`log4j.properties`文件放入应用的资源目录,例如`WEB-INF/classes`。...

    java中log4j的扩展写法

    通过对Log4j配置文件的理解和自定义日志类的编写,我们可以实现对Struts、iBatis等框架的日志输出控制,同时也能根据项目需求进行灵活的日志输出。这种扩展不仅可以提高系统的可维护性和可调试性,还能有效地帮助...

    Log4j.properties配置详解

    - `log4j.additivity`:控制日志是否同时输出到自身和其父Logger的Appender。如果设置为`false`,则只输出到当前Logger指定的Appender。 正确配置Log4j.properties文件能够帮助开发者更好地管理和监控应用程序的...

    log4j写入数据库配置

    log4j.additivity.org.apache=true # 数据库相关的配置 log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender log4j.appender.JDBC.driver=oracle.jdbc.driver.OracleDriver log4j.appender.JDBC.URL=jdbc:...

    log4j(三):配置文件属性解释、级别、布局、参数设置等

    本文将深入解析Log4j的配置文件属性、日志级别、布局方式以及参数设置等核心知识点,帮助你更好地理解和利用这个强大的工具。 一、配置文件属性解释 Log4j的核心配置文件通常是`log4j.properties`或`log4j.xml`,它...

    日志配置到文件,数据库

    - `log4j.addivity.org.apache=true`:这里应该是`log4ity.additivity.org.apache=true`,表示`org.apache`包下的日志记录器会继承根日志记录器的配置。 **2. 控制台输出配置** - `log4j.appender.CONSOLE=org....

    一个Log4j配置文件,感觉还不错

    - **自定义日志等级**:可以通过定义新的日志级别来满足特殊需求,例如`log4j.additivity.myCategory=false`可以防止日志信息在父类别和子类别之间重复。 - **异步日志记录**:通过使用`AsyncAppender`可以提高...

    log4j输出位置配置

    Log4j是一款广泛使用的Java日志框架,它提供了灵活的日志配置和丰富的功能。这篇博文主要探讨的是如何配置Log4j以改变日志输出的位置。 首先,我们要理解Log4j的核心配置文件——`log4j.properties`。这个文件使用...

    log4j使用详细说明

    在本文中,我们将详细探讨Log4j的配置文件,包括.properties和.xml两种格式,并介绍其核心配置项及其作用。 ### 1. 属性文件(.properties) #### 1.1 log4j.threshold `log4j.threshold` 设定了日志输出的最低级别...

    log4j配置说明使用

    log4j.additivity.ERROR_LOGGER=false log4j.logger.ERROR_LOGGER=ERROR, ERROR_FILE ``` 这里,`ERROR_LOGGER`是一个自定义的logger名称,你可以根据实际需求进行设定。 **6. 使用log4j** 在代码中,你可以通过`...

    LOG4J配置全接触

    - `log4j.additivity.org.apache=true`: 此配置表示 org.apache 包下的所有类的日志输出都会按照默认的 rootLogger 的配置进行记录,而不是只按照 org.apache 下的单独配置。 **2. Socket Appender** - 用于通过...

    java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    Log4j是一款广泛使用的日志框架,它允许开发者自定义日志输出的方式,包括输出路径、日志级别和格式。在某些情况下,可能需要将不同类型的日志输出到不同的文件中,以方便管理和分析。本文将详细讲解如何使用Log4j...

Global site tag (gtag.js) - Google Analytics