FileAppender a0=new FileAppender(new SimpleLayout(), "a0.log");
FileAppender a1=new FileAppender(new SimpleLayout(), "a1.log");
Logger root=Logger.getRootLogger();
root.addAppender(a0);
Logger x=Logger.getLogger("x");
x.addAppender(a1);
Logger xyz=Logger.getLogger("x.y.z");
xyz.debug("xyz debug...");
xyz.info("xyz info...");
两个log文件都会记录日志
DEBUG - xyz debug...INFO - xyz info...
这说明logger是有继承性的,xyz没有配置appender,就会继承祖先的配置
继承介绍
1、log4j的继承是通过命名来实现的。
比如logger.a.b就会继承logger.a的一些设置。
2、子logger会默认继承父logger的appender。
如果配置中这样写:logger.a=INFO,app_a,logger.a.b=DEBUG,app_b,那么实际上,logger.a.b的配置是这样的:logger.a.b=DEBUG,app_b,app_a。
3、子logger只在自己未定义输出级别的情况下,才会继承父logger的输出级别。
比如配置中这样写:logger.a=DEBUG,app_a,logger.a.b=,app_b,那么实际上,logger.a.b的配置是:logger.a.b=DEBUG,app_b,app_a。
但是如果配置中这样写:logger.a=DEBUG,app_a,logger.a.b=INFO,app_b,那么实际上,logger.a.b的输出级别就是INFO,而不会继承logger.a的DEBUG。这样,如果用logger.a.b记录DEBUG信息,它是不会向app_a输出的。
大多数的情况,对于未设置的logger来说,不需要自动继承祖先的配置,此时需要取消祖先叠加(additivity)在子logger上的设置,通过将additivity的标识设为false
BasicConfigurator.configure();
Logger logger=Logger.getLogger("x.y");
logger.setLevel(Level.TRACE);
logger.log(Level.DEBUG, "设置的日志级别为:"+logger.getLevel());
logger.trace("trace...");
logger.debug("debug...");
logger.info("info...");
logger.warn("warn...");
logger.error("error...");
logger.fatal("fatal...");
修改logger.setLevel(Level.TRACE)中的级别,即可知道 ALL<TRACE<DEBUG<WARN<ERROR<FATAL
分享到:
相关推荐
《Log4j完全手册》是一本详尽阐述Log4j日志框架的指南,它针对Java开发者,提供了全面的配置信息和深入的参数解析。Log4j是Apache软件基金会的一个项目,是Java平台上广泛使用的日志记录工具,因其灵活性、可配置性...
《Log4j完全手册》是Java开发者不可或缺的参考资料,由Ceki Gülcü撰写,主要适用于log4j 1.2及其后续版本。手册详细介绍了log4j这一强大的日志记录框架,帮助开发者理解和掌握如何在Java应用中有效、灵活地进行...
### log4j中文手册知识点概览 #### 1. 简介 - **概述**:日志记录在软件开发中扮演着至关重要的角色。它不仅帮助开发者追踪问题,还能在生产环境中收集运行数据用于分析。传统的日志记录方式如`System.out.println...
Log4j是Apache的一个开源项目,它提供了一个灵活的日志框架,允许开发者在Java应用程序中进行日志记录。这个框架的目标是使日志输出更加标准化,提高可读性、可维护性和性能,同时还能根据需要调整日志级别,适应...
Log4J是一个广泛使用的日志记录框架,源自Apache开源组织,它允许开发者在应用程序中方便地管理和记录日志信息。Log4J的核心组件包括Logger、Appender和Layout,这三个部分协同工作,使得日志管理变得灵活且高效。 ...
下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....
《log4j中文手册》是Java开发人员必备的参考资料,它详细介绍了log4j这个广泛使用的日志记录框架。Log4j是Apache软件基金会开发的一个开源项目,主要用于生成应用程序运行时的日志信息,帮助开发者进行调试、性能...
1. **LOG4J组成**: - **Logger**:是Log4j的核心,负责决定哪些日志信息应该被记录和哪些应该被忽略。它根据预定义的级别来过滤日志,由`org.apache.log4j.Logger`类实现。Logger提供了如`debug()`, `info()`, `...
### Log4J完全使用手册 #### 一、Log4J简介与重要性 Log4J是一种广泛应用于Java应用程序中的日志记录工具。它为开发者提供了一种方便且强大的方式来控制程序的日志输出,这对于软件开发过程中的调试、错误追踪以及...
在2021年的Log4Shell漏洞事件后,Log4j2进行了紧急修复,并强化了安全机制,包括默认禁用网络连接,以及提供了安全的配置选项以防止恶意攻击。 最后,Log4j2文档详尽且易于理解,对于开发人员来说是一份宝贵的资源...
Log4j2是Apache软件基金会推出的日志框架,它是Log4j 1.x的重构版本,旨在提供更为高效且灵活的日志解决方案。与Log4j 1.x相比,Log4j2在设计上进行了重大改进,并解决了Logback等其他日志框架中存在的某些体系结构...
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
### Log4j手册详解 #### 1. 概述与主要组件 Log4j是一款功能强大的日志框架,用于简化应用程序中的日志记录过程。它提供了灵活的日志记录功能,允许开发者根据不同的需求和场景调整日志的输出级别、格式以及目的地...
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
log4j-1.2rc1.jar, log4j-1.3alpha-7.jar, log4j-api-2.0.2-javadoc.jar, log4j-api-2.0.2-sources.jar, log4j-api-2.0.2.jar, log4j-boot.jar, log4j-bridge-0.9-sources.jar, log4j-bridge-0.9-tests.jar, log4j-...
分别有disruptor-3.3.4.jar(Log4j2异步日志的底层实现)、log4j-api-2.19.0.jar(log4j门面)、log4j-core-2.19.0.jar(log4j实现)、log4j-slf4j-impl-2.19.0.jar(SLF4J与Log4j绑定)、slf4j-api-1.7.30.jar(SLF...
在Log4j的使用手册中,会详细介绍如何配置和使用Log4j来记录日志。首先,需要在项目中引入Log4j的依赖包。然后,通过在代码中创建Logger实例来记录日志。Log4j提供了灵活的配置方式,可以通过编程方式配置,也可以...
1. **Log4j简介**:Log4j是Apache软件基金会的一个开源项目,提供了一套强大的日志记录工具,适用于Java应用程序。它允许开发者控制日志信息的输出级别,输出目的地(控制台、文件、数据库等),以及定制日志格式。 ...
log4j手册.rarlog4j手册.rarlog4j手册.rarlog4j手册.rarlog4j手册.rarlog4j手册.rarlog4j手册.rarlog4j手册.rarlog4j手册.rarlog4j手册.rar