`

log4j additivity 作用

    博客分类:
  • java
阅读更多
log4j.rootLogger=debug,stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p %t %c%M %l-%m%n

log4j.logger.log4jdemo.RollingFileAppenderDemo=debug,rollinglogfile
log4j.additivity.log4jdemo.RollingFileAppenderDemo=false
log4j.appender.rollinglogfile=org.apache.log4j.RollingFileAppender
log4j.appender.rollinglogfile.Append=true
log4j.appender.rollinglogfile.File=rollinglogfile.log
log4j.appender.rollinglogfile.MaxFileSize=200kb
log4j.appender.rollinglogfile.MaxBackupIndex=10
log4j.appender.rollinglogfile.layout=org.apache.log4j.TTCCLayout

 网上很流行的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 

log4j.addivity.org.apache=true

 

 

log4j.addivity.org.apache=true 无论是true/false,你会发现日志输出结果没有任何变化。

正确的格式应该是:

 

 log4j.additivity.org.apache=true

 

additivity的作用在于 children-logger是否使用 rootLogger的配置,例如 输出终端。

示例如下:

 

public static void main(String[] args) {
	for(int i = 0 ;i < 1000;i ++)
	    logger.debug("RollingFileAppenderTest:" + i);
}

 

log4j.perperties

 

 

 

如果additivity为false,那么只生成一个rollinglogfile.log的日志文件,屏幕上没有日志信息输出。如果additivity为true那么,屏幕上有日志信息显示(因为rootLogger 的日志输出终端为stdout-屏幕),而且会生成rollinglogfile.log的日志文件。

additivity在log4j默认为true。这解释了为什么有些时候,一个日志信息在屏幕上会有多次输出。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liu251/archive/2009/07/28/4388014.aspx

分享到:
评论

相关推荐

    log4j和log4j2日志应用文档.docx

    Log4j配置文件中包含多种配置元素,每种元素都有其特定的作用: * `appender`元素:定义一个日志输出目的地,包括控制台、文件、daily rolling file和rolling file等多种类型。 * `logger`元素:定义一个日志写出...

    Log4j.properties详细说明

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

    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文件”及其在日志管理中的作用。 首先,我们需要理解什么是DTD(Document Type Definition)。DTD是一种定义XML文档结构的语言,它规定了XML文档中元素和属性的规则。在...

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

    这个 Servlet 的作用是在应用启动时读取配置文件并初始化 Log4j。具体步骤如下: ```java package ttzl.log.web; import javax.servlet.http.HttpServlet; import org.apache.log4j.PropertyConfigurator; public...

    log4j 介绍

    Log4j是Apache的一个开源项目,全称为Log4j for Java,它是一个基于Java的日志记录库。该项目始于1996年的一个名为E.U.SEMPER的欧洲安全电子市场项目,该项目需要一个API跟踪工具,从而诞生了最初的Log4j版本。Log4j...

    WebSphere V5 配置log4j

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

    java中log4j的扩展写法

    log4j.additivity.org.apache.struts = false # 定义com.land包的日志级别为DEBUG。 log4j.logger.com.land = DEBUG ``` 其中,`DEBUG`、`INFO`、`ERROR`等代表不同的日志级别,级别越高,输出的信息越少。例如...

    log4j常用配置和Demo

    log4j.additivity.com.mycompany.myapp=false log4j.appender.AnotherFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.AnotherFile.File=/var/log/myapp/another-app.log ``` ### 3. 使用Log4j编写...

    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.properties配置详解

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

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

    在Java日志处理领域,Log4j是一款广泛应用的开源日志框架,它为开发者提供了灵活且高效的日志记录功能。本文将深入解析Log4j的配置文件属性、日志级别、布局方式以及参数设置等核心知识点,帮助你更好地理解和利用这...

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

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

    log4j输出位置配置

    log4j.additivity.com.example=false log4j.appender.FileAppender=org.apache.log4j.FileAppender log4j.appender.FileAppender.file=./com_example.log ``` 通过这些配置,我们可以在运行时灵活地控制日志的...

    log4j使用详细说明

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

    LOG4J配置全接触

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

    log4j配置说明使用

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

    日志配置到文件,数据库

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

    log4j配置大全-java

    log4j.additivity.org.apache=true ``` 此配置表明对于名为`org.apache`的包下的所有类的日志输出,都将遵循root logger的配置。如果设置为`false`,则该包下的类会使用自己的单独配置。 **3. Console Appender** ...

Global site tag (gtag.js) - Google Analytics