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配置文件中包含多种配置元素,每种元素都有其特定的作用: * `appender`元素:定义一个日志输出目的地,包括控制台、文件、daily rolling file和rolling file等多种类型。 * `logger`元素:定义一个日志写出...
Log4j.properties 配置详解 Log4j.properties 文件是 Log4j 框架的核心配置文件,用于设置记录器的级别、存放器和布局。通过配置,可以创建出 Log4J 的运行环境。下面是 Log4j.properties 文件的详细配置解释。 ...
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文件”及其在日志管理中的作用。 首先,我们需要理解什么是DTD(Document Type Definition)。DTD是一种定义XML文档结构的语言,它规定了XML文档中元素和属性的规则。在...
这个 Servlet 的作用是在应用启动时读取配置文件并初始化 Log4j。具体步骤如下: ```java package ttzl.log.web; import javax.servlet.http.HttpServlet; import org.apache.log4j.PropertyConfigurator; public...
Log4j是Apache的一个开源项目,全称为Log4j for Java,它是一个基于Java的日志记录库。该项目始于1996年的一个名为E.U.SEMPER的欧洲安全电子市场项目,该项目需要一个API跟踪工具,从而诞生了最初的Log4j版本。Log4j...
log4j.additivity.org.apache.ibatis=false ``` 这里特别配置了iBATIS的日志级别为DEBUG,以便输出SQL执行情况。 3. **部署与测试**:将`log4j.properties`文件放入应用的资源目录,例如`WEB-INF/classes`。...
log4j.additivity.org.apache.struts = false # 定义com.land包的日志级别为DEBUG。 log4j.logger.com.land = DEBUG ``` 其中,`DEBUG`、`INFO`、`ERROR`等代表不同的日志级别,级别越高,输出的信息越少。例如...
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.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.additivity`:控制日志是否同时输出到自身和其父Logger的Appender。如果设置为`false`,则只输出到当前Logger指定的Appender。 正确配置Log4j.properties文件能够帮助开发者更好地管理和监控应用程序的...
在Java日志处理领域,Log4j是一款广泛应用的开源日志框架,它为开发者提供了灵活且高效的日志记录功能。本文将深入解析Log4j的配置文件属性、日志级别、布局方式以及参数设置等核心知识点,帮助你更好地理解和利用这...
- **自定义日志等级**:可以通过定义新的日志级别来满足特殊需求,例如`log4j.additivity.myCategory=false`可以防止日志信息在父类别和子类别之间重复。 - **异步日志记录**:通过使用`AsyncAppender`可以提高...
log4j.additivity.com.example=false log4j.appender.FileAppender=org.apache.log4j.FileAppender log4j.appender.FileAppender.file=./com_example.log ``` 通过这些配置,我们可以在运行时灵活地控制日志的...
在本文中,我们将详细探讨Log4j的配置文件,包括.properties和.xml两种格式,并介绍其核心配置项及其作用。 ### 1. 属性文件(.properties) #### 1.1 log4j.threshold `log4j.threshold` 设定了日志输出的最低级别...
- `log4j.additivity.org.apache=true`: 此配置表示 org.apache 包下的所有类的日志输出都会按照默认的 rootLogger 的配置进行记录,而不是只按照 org.apache 下的单独配置。 **2. Socket Appender** - 用于通过...
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.additivity.org.apache=true ``` 此配置表明对于名为`org.apache`的包下的所有类的日志输出,都将遵循root logger的配置。如果设置为`false`,则该包下的类会使用自己的单独配置。 **3. Console Appender** ...