log4j-1.2-api 中的空属性配置器实现



我正在我的项目中将 Log4j-1.2.17 升级到 Log4j2-2.12.2。 为此,我使用的是 log4j-1.2 桥。 在旧版本中,我使用属性文件来配置 log4j。

  1. 升级后一切看起来都正常,没有错误,没有警告。但日志不会显示在属性文件中指向的文件中。 我意识到 PropertyConfigurator.class 存在于 log4j-1.2-api.jar 中,但方法没有实现。 empty PropertyConfigurator.configure(Properties properties( 你能解释一下吗?

  2. 当我使用 log4j-1.2-api.jar 时,哪种配置语法是正确的? log4j 还是 log4j2?

在 Log4j 2.13.0 之前,log4j-1.2-api 仅为使用 log4j 1.x API 进行日志记录的应用程序提供兼容性。Log4j 2 配置仍在使用,因为所有日志记录调用都将重定向到 Log4j 2。因此,只有 Log4j 2 配置语法有效。

许多旧的 log4j 1.x 内部类也存在,因为许多应用程序正在使用它们来尝试手动操作日志记录,其中大部分可能不是 Log4j 2 所必需的。

在 Log4j2.13.0 中,log4j-1.2-api 进行了扩展,为 Log4j 1.x 配置文件提供了实验性支持。您必须将 log4j 1 配置与文档进行比较,以确定该支持是否适合您。但是,即使有兼容性支持,Log4j 1.x PropertyConfigurator 仍然是一个无操作。

最新更新