Log4j 2 与 Log4j 1 的兼容性

API Compatibility

Log4j 2 通过提供包含这些方法的类的替代实现来提供对 Log4j 1 日志记录方法的支持。这些类可在随项目一起分发的 log4j-1.2-api jar 中找到。所有执行日志记录的调用都将导致传递到日志记录方法的数据被转发到 Log4j2 API,在此可以通过 Log4j 2 API 的实现对其进行处理。

Configuration Compatibility

Log4j 2 为 Log4j 1 配置文件提供实验性支持。 Log4j 1 发行版中提供的 Appender,布局和过滤器的配置将重定向到其 Log4j 2 副本-除了已实现的重写策略。这意味着,尽管这些组件的行为类似,但可能并不完全相同。例如,由 XMLLayout 生成的 XML 可能与 Log4j 1XMLLayout 生成的 XML 不完全匹配。

此外,Log4j 2 支持自定义 Log4j 1 Appender,过滤器和布局,但有一些限制。由于 Log4j 2 中可能不存在原始 Log4j 1 组件,因此扩展它们的自定义组件将失败。

由于对 Log4j 1 的支持是一项实验性功能,必须采取以下步骤之一才能启用它:

Supported Components

Appenders

Filters

Layouts

Rewrite Policies

不支持或未实现的组件

Appenders

Rewrite Policies

Renderers

Log4j 2 当前将忽略渲染器。

首页