log4j的logger(旧版本称logger)是层次结构的,子logger会继承父logger的属性,appender也是可继承的属性,这常常容易导致配置错误而引起的log4j输出重复的log信息......
log4j的logger(旧版本称logger)是层次结构的,子logger会继承父logger的属性,appender也是可继承的属性,这常常容易导致配置错误而引起的log4j输出重复的log信息。如果在在父子logger中引用了相同的appender时,例子:
<logger name="com.erry.model">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.erry.service">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<root>
<level value="WARN"/>
<appender-ref ref="CONSOLE"/>
</root>
由于子logger(com.erry.model和com.erry.service)继承了父logger(ROOT)的appender,加上其本身引用的appender总共会在2个appender上输出消息,由于这两个appender实际上是同一个appender,所以结果会是相同的消息被重复输出。解决这个问题很简单,只要注意不要重复引用父logger已经引用的appender即可。上述例子的正确配置如下:
<logger name="com.erry.model">
<level value="DEBUG"/>
</logger>
<logger name="com.erry.service">
<level value="DEBUG"/>
</logger>
<root>
<level value="WARN"/>
<appender-ref ref="CONSOLE"/>
</root>
分享到:
相关推荐
本文将通过一份示例文档来详细解析 Log4j 的日志配置方法。 #### 二、安装与配置 ##### 1. 安装 Log4j 包 首先,你需要下载并安装 Log4j。本示例中使用的是 `log4j-1.2.8.jar` 这个版本。将其复制到项目中的 `WEB...
通过基于Log4J开发的日志输出组件,不仅可以有效地管理日志信息,还能够提高开发效率和代码质量。该组件通过合理的日志分级机制和灵活的输出方式,为系统的维护和审计提供了有力的支持。对于类似AMSystem这样的大型...
配置Log4j,你需要创建一个`log4j.properties`或`log4j.xml`文件,定义日志级别(如DEBUG、INFO、WARN等)、输出目的地和布局格式。这样,你就可以在开发和调试过程中方便地追踪错误和调试信息。 在实际项目中,这...
4. 配置Log4j的配置文件(如log4j.properties或log4j.xml),定义日志级别、输出目的地和格式等。 5. 在代码中使用SLF4J的API记录日志,例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; ...
总的来说,Quartz和Log4j是Java开发中的两个重要工具,它们分别解决了自动化任务调度和日志管理的问题。掌握这两个工具的使用,对于提升应用程序的管理和维护能力具有极大的价值。通过深入研究提供的文档,开发者...
- **自定义日志等级**:可以通过定义新的日志级别来满足特殊需求,例如`log4j.additivity.myCategory=false`可以防止日志信息在父类别和子类别之间重复。 - **异步日志记录**:通过使用`AsyncAppender`可以提高...
在Java开发领域,Hibernate、SLF4J、Log4j以及JUnit是四个非常重要的库,它们各自服务于不同的目的,但又常被一起使用以构建高效、可维护的项目。让我们来详细了解一下这些技术和它们在软件开发中的作用。 1. ...
Log4j是一个广泛使用的日志记录框架,它允许开发者对应用程序进行详细的日志记录,以帮助调试、性能分析和故障排查。在某些情况下,我们希望将不同模块的日志信息输出到不同的文件中,以便于管理和分析。以下是实现...
### log4j使用详解 #### 一、Log4j概览与核心组件 ...总之,log4j作为一款功能强大且易于使用的日志框架,为Java开发者提供了丰富的工具和配置选项,帮助他们更好地管理和分析应用程序的日志信息。
本文将详细讲解如何利用Log4j将不同包的日志输出到不同的文件,以实现日志的分类管理,提高日志的可读性和实用性。 首先,我们需要理解Log4j配置的核心部分——`log4j.properties`文件。这个文件决定了日志的级别、...
描述中的重复内容似乎是一个错误,没有提供额外的具体信息,因此我们将基于“log4”的标签来展开讨论Log4j的核心概念和使用。 --- **Log4j简介** Log4j是Apache软件基金会的一个开源项目,它为Java应用程序提供了...
通过引入`log4j.jar`,开发者可以在代码中使用Log4j的API(如`Logger`,`Level`等)来控制和记录各种级别的信息,如DEBUG、INFO、WARN、ERROR等。Log4j的配置文件(通常为`log4j.properties`或`log4j.xml`)可以定制...
在Eclipse中直接编辑log4j.properties或log4j.xml文件,可以实时预览和应用更改,避免了因配置错误导致的问题,降低了调试成本。同时,插件还支持多种配置模板,适应不同项目的需求,使得日志级别设置、输出格式定制...
**Log4j** 是一个日志记录框架,它提供灵活的日志配置,可以根据不同的需求输出不同级别的日志信息,如调试、信息、警告和错误。Log4j的配置简单,且性能高效,是Java应用中广泛使用的日志解决方案。 当这些技术...
在不同的操作系统如 Linux、Mac 和 Windows 上,设置 Log4j 的日志文件存放位置是非常重要的,因为它可以帮助我们更好地组织和查找日志信息。下面我们将详细介绍如何设置这些系统的通用存放位置。 首先,我们需要...
Log4j允许开发者控制日志输出的位置、格式和级别,以便于调试和监控应用的运行状态。此外,Log4j还可以与其他日志框架(如Logback)兼容,通过使用Log4j的API,可以轻松切换底层的日志实现。 综合运用这四个框架,...
通过配置log4j.properties或log4j.xml文件,开发者可以控制日志信息输出的级别(如DEBUG、INFO、WARN、ERROR等)、输出目的地(控制台、文件、数据库等)以及格式。在SSM与PostgreSQL的结合中,日志记录可以帮助...
log4j允许开发者自定义日志级别(如DEBUG, INFO, WARN, ERROR, FATAL),并可以将日志信息输出到控制台、文件、电子邮件、数据库等不同目的地。通过配置文件(如log4j.properties或log4j.xml),开发者可以轻松地...
Log4j还有多种输出格式和目的地,如文件、控制台、网络等,方便收集和分析日志信息。 **JUnit**:JUnit是Java编程语言中最常用的单元测试框架。它提供了编写和运行可重复的测试的工具,确保代码的正确性和稳定性。...