什么定义了Log4j版本1记录器“包含”的一组附加器?

vaqhlq81  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(140)

我试图读取一些Log4j v1代码以便将其更新到Log4j v2,但我发现了一些文档中无法解决的问题。
问题出在Logger.getAllAppenders()方法上。链接的文档中提到该方法“Get[s] the appenders contained in this category as an Enumeration”。但是,这里没有定义appender“contained in”(包含在)一个类别中的含义,而且我在文档的其他地方也找不到定义。因此,我无法准确预测该方法将返回什么。
尽可能精确地说,什么定义了“包含在”一个类别(如记录器)中的一组附加器?特别是,一个子记录器是否包含分配给其父记录器的附加器?一个父记录器是否包含分配给其子记录器的附加器?
能解释你的知识基础的答案,比如我错过的文档链接,特别感谢。

7fyelxc5

7fyelxc51#

对于像Log4j 1.x这样的生命周期结束的软件,最好的文档是源代码(永远不会更改)。
Category.getAllAppenders()返回直接链接到给定Logger(参见源代码)的附加器列表,不包括父记录器的附加器。因此,它是该记录器将使用的附加器的子集。

相关问题