log4j架构


log4j API遵循分层体系结构,其中每个层提供不同的对象来执行不同的任务。这种分层架构使得设计在将来更加灵活和易于扩展。

log4j框架有两种可用的对象类型。

  • 核心对象: 这些是框架的强制对象。他们被要求使用框架。

  • 支持对象: 这些是框架的可选对象。他们支持核心对象来执行额外但重要的任务。

核心对象

核心对象包括以下类型的对象 -

记录器对象

顶层是提供记录器对象的记录器。Logger对象负责捕获日志信息,它们存储在命名空间层次结构中。

布局对象

布局图层提供用于以不同样式格式化日志记录信息的对象。它在发布日志信息之前为appender对象提供支持。

布局对象在以人类可读和可重用的方式发布日志信息方面发挥着重要作用。

Appender对象

这是一个提供Appender对象的底层图层。Appender对象负责将日志信息发布到各种首选目标,如数据库,文件,控制台,UNIX系统日志等。

以下虚拟图显示了log4J框架的组件:

log4j架构

支持对象

log4j框架中还有其他重要的对象在日志框架中扮演重要角色:

级别对象

Level对象定义了任何日志信息的粒度和优先级。在API中定义了七个级别的日志记录:OFF,DEBUG,INFO,ERROR,WARN,FATAL和ALL。

过滤对象

Filter对象用于分析日志信息并进一步决定是否记录该信息。

Appender对象可以有多个与它们关联的Filter对象。如果将日志记录信息传递给特定的Appender对象,则与该Appender关联的所有Filter对象在将日志信息发布到附加目标之前需要批准日志信息。

ObjectRenderer

ObjectRenderer对象专门提供传递给日志框架的不同对象的字符串表示。Layout对象使用该对象来准备最终的日志记录信息。

日志管理

LogManager对象管理日志框架。它负责从系统范围的配置文件或配置类中读取初始配置参数。