架构(Architecture)
log4j API遵循分层体系结构,其中每个层提供不同的对象以执行不同的任务。 这种分层架构使设计灵活,并且将来可以轻松扩展。
log4j框架有两种类型的对象。
Core Objects:这些是框架的强制对象。 他们需要使用框架。
Support Objects:这些是框架的可选对象。 它们支持核心对象以执行其他但重要的任务。
核心对象
核心对象包括以下类型的对象 -
记录器对象
顶层是Logger,它提供Logger对象。 Logger对象负责捕获日志记录信息,它们存储在命名空间层次结构中。
布局对象
布局图层提供用于格式化不同样式的日志记录信息的对象。 它在发布日志记录信息之前为appender对象提供支持。
布局对象在以人类可读和可重用的方式发布日志记录信息方面发挥着重要作用。
Appender对象
这是一个提供Appender对象的低级层。 Appender对象负责将日志记录信息发布到各种首选目标,例如数据库,文件,控制台,UNIX Syslog等。
以下虚拟图显示了log4J框架的组件:
支持对象
log4j框架中还有其他重要对象在日志记录框架中起着至关重要的作用:
水平对象
Level对象定义任何日志记录信息的粒度和优先级。 API中定义了七个级别的日志记录:OFF,DEBUG,INFO,ERROR,WARN,FATAL和ALL。
过滤对象
Filter对象用于分析日志记录信息,并进一步决定是否应记录该信息。
Appender对象可以有多个与之关联的Filter对象。 如果将日志记录信息传递给特定的Appender对象,则与该Appender关联的所有Filter对象都需要批准日志记录信息,然后才能将其发布到附加目标。
ObjectRenderer
ObjectRenderer对象专门提供传递给日志记录框架的不同对象的String表示。 Layout对象使用此对象来准备最终的日志记录信息。
LogManager (LogManager)
LogManager对象管理日志记录框架。 它负责从系统范围的配置文件或配置类中读取初始配置参数。