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