第一节 日志名称空间和等级遗传
每一个日志都可以通过配置文件设置日志级别等信息。但给每一个日志都配置这些信息显然太繁琐了。相似的类的日志应该有相似的日志级别信息,如用户可能只关心某一个包下的类的消息。Log4j使用日志名称空间和等级遗传来达到这一目的。
名称空间:Log4j使用java包空间的方式,定义日志名称空间。一般情况下,类定义Logger时,给Logger工厂方法一个参数,该参数是本类的完整类名,这样日志就有了指定的名称空间。
等级遗传:Log4j规定,如果名称空间“A”加上“.”后缀是名称空间“B”的前缀,则称名称空间“A”是名称空间“B”的祖先,“B”是“A”的子空间。所有的名称空间都有一个无名的Root作为祖先。子空间可以继承祖先空间的Level和Appender。
第二节 等级遗传规律
子空间如果定义Level,则为该Level。如果未定义Level,则该空间的Level等于追溯到最近定义了Level的祖先空间。
第三节 Appender遗传规律
默认情况先,子空间继承祖先空间的所有Appender。
如果子空间设置additive为false(additive默认为true),则不继承祖先的Appender。
如果子空间拒绝了祖先空间的Appender,它的子孙空间也拒绝了那些Appender。
如果空间自己定义多个相同的Appender,只有一个有效。如果子空间有和祖先空间相同的Appender,则每个Appender都有效。
分享到:
相关推荐
《Log4j笔记 第九章 封装Log4j》 在Java开发中,日志记录是一项非常重要的任务,它帮助我们追踪程序运行时的状态,定位和解决错误。Log4j是Apache组织提供的一款强大的日志框架,因其高效、灵活和可配置性而广受...
**Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录框架,由Apache软件基金会开发。它提供了一套灵活的日志记录系统,帮助开发者在开发过程中追踪应用程序的行为,便于调试、性能分析和问题排查。Log4j...
下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....
与Log4j 1.x相比,Log4j2在设计上进行了重大改进,并解决了Logback等其他日志框架中存在的某些体系结构问题。 #### 特性概述 1. **审计功能**:Log4j2设计时考虑到了审计需求,这意味着即使在配置更新过程中,它也...
在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,这个漏洞被称为“Log4Shell”。攻击者可以利用这个漏洞通过精心构造的输入来执行任意代码,对系统造成严重威胁。 标题中提到的“log...
log4j.appender.fileOut.File=../webapps/log4jDemo/log/log4j.log ``` 3. **Appender 类型**: - `org.apache.log4j.ConsoleAppender`:用于控制台输出。 - `org.apache.log4j.FileAppender`:用于文件输出。 ...
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
除了基本的日志功能,Log4j还支持与其他日志框架(如Logback)的互操作,以及与Spring等框架的集成,提供更强大的日志管理和监控能力。 通过这个"log4j示例项目",我们可以亲手实践这些概念,更好地理解和运用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...
apache-log4j-1.2.15.jar, apache-log4j-extras-1.0.jar, apache-log4j-extras-1.1.jar, apache-log4j.jar, log4j-1.2-api-2.0.2-javadoc.jar, log4j-1.2-api-2.0.2-sources.jar, log4j-1.2-api-2.0.2.jar, log4j-...
《log4j笔记详解》 在IT行业中,日志记录是一项至关重要的任务,它帮助开发者追踪应用程序的运行状态,定位和解决问题。Log4j作为Java领域最常用的日志框架之一,因其灵活性、可配置性和高性能而备受推崇。本文将...
**Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录工具,由Apache软件基金会开发。它提供了一种灵活且强大的机制来记录应用的运行情况,这对于调试、性能分析、问题追踪以及系统监控至关重要。这篇学习...
**压缩包子文件的文件名称列表:log4j-1.2-api-2.8.2-javadoc** 这里列出的子文件名为"log4j-1.2-api-2.8.2-javadoc",通常表示这个压缩包包含的是Log4j 1.2 API的Javadoc文档。Javadoc是Java的一种工具,可以自动...
**SLF4J与Log4j的结合使用** 1. **引入依赖**:首先,你需要在项目中引入SLF4J和Log4j的依赖。对于Maven项目,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.slf4j <artifactId>slf4j-api <version>...
### SpringBoot与Log4j Log4j是Apache的一个开源项目,用于生成日志。它的核心功能包括定义日志级别(如DEBUG、INFO、WARN、ERROR),配置日志输出目的地(控制台、文件、数据库等),以及自定义日志格式。...
apache下载太慢,特搬到国内下载。修复log4j漏洞log4j2下载最新log4j2.16.0下载
提到的"避免log4j漏洞问题"可能指的是在2021年出现的严重安全漏洞——CVE-2021-44228,也被称为Log4Shell。这个漏洞允许攻击者通过注入恶意的JNDI(Java Naming and Directory Interface)链接来执行远程代码。...
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-2.15.0....
Log4j、Log4j2和Fastjson的安全性问题在过去曾引起广泛关注,例如Log4j2的CVE-2021-44228(也被称为Log4Shell漏洞),这是一个远程代码执行漏洞,影响了许多使用Log4j2的系统。这个插件可能就是为了检测和利用这些...