log4j - 架构

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

log4j框架有两种类型的对象.

  • 核心对象:这些是框架的强制对象.他们需要使用框架.

  • 支持对象:这些是框架的可选对象.它们支持核心对象执行其他但重要的任务.

核心对象

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

Logger对象

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

布局对象

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

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

Appender对象

这是一个提供Appender对象的低级层. Appender对象负责将日志记录信息发布到各种首选目标,例如数据库,文件,控制台,UNIX Syslog等.

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

log4j Architecture

支持对象

log4j框架中还有其他重要的对象在日志框架中起着至关重要的作用:

级别对象

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

过滤器对象

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

Appender对象可以有多个与之关联的Filter对象.如果将日志记录信息传递给特定的Appender对象,则与该Appender关联的所有Filter对象需要先批准日志记录信息,然后才能将其发布到附加目标.

ObjectRenderer

ObjectRenderer对象专门提供传递给日志记录框架的不同对象的String表示. Layout对象使用此对象来准备最终的日志记录信息.

LogManager

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