📅  最后修改于: 2021-01-06 09:03:03             🧑  作者: Mango
Log4j遵循分层体系结构,其中每一层用于提供不同的对象以执行不同的任务。这种分层的体系结构使设计在将来可以轻松灵活地扩展。
log4j框架中有两种可用的对象:
核心对象:核心对象是框架的必需对象。使用该框架需要所有对象。
支持对象:支持对象是框架的可选对象。它们曾经支持核心对象来执行其他但重要的任务。
核心对象有以下类型,或者是log4J组件:
Logger是提供Logger对象的顶层。 Logger对象负责获取日志信息,它们存储在名称空间层次结构中。
获取记录器对象:
static Logger log = Logger.getLogger(YourClassName.class.getName())
注意:创建记录器对象时,我们需要传递完全合格的类名或类对象作为参数,其中类表示我们将要使用log4j的当前类。
记录器对象有一些方法。这些方法用于print应用程序的状态:
这些方法是:
所有这些方法大致相同。这些方法的优先顺序为:调试<信息<警告<错误<致命。
追加程序是下层组件,它提供Appender对象。 Appender对象负责将日志记录信息发布到各种首选目标,例如文件,数据库,控制台,Unix Syslog等。
在log4j中,我们有不同的Appender实现类:
FileAppender:用于将日志事件附加到文件。它支持另外两个附加器类:
ConsoleAppender:使用用户指定的布局将日志事件追加到System.err或System.out。默认控制台是System.out。
JDBCAppender:用于数据库。
SMTPAppender:用于在发生特定的日志事件(通常是由于错误或致命错误)时发送电子邮件。
SocketAppender:用于远程存储。
SyslogAppender:将消息发送到远程Syslog域。
TelnetAppender:专门写入只读套接字。
WriterAppender:用于根据用户的选择将日志事件附加到Writer或OutputStream。
布局层提供了Layout对象,这些对象用于格式化不同样式的日志信息。它用于在发布日志记录信息之前为附加程序对象提供支持。
布局对象在以一种人类可读且可重用的方式发布日志信息中扮演着重要角色。
布局组件定义了附加程序将日志语句写入目标存储库的格式。
log4j中有不同类型的布局类:
log4j框架中还有其他不同的对象,它们在日志记录框架中起着至关重要的作用:
级别对象:级别对象定义任何日志记录信息的优先级和粒度。 API中定义了七个日志记录级别:OFF,DEBUG,INFO,ERROR,WARN,FATAL和ALL。
过滤器对象:此对象分析日志记录信息,并就是否应该记录该信息做出其他决策。
ObjectRenderer: ObjectRenderer对象专门用于提供传递给日志框架的不同对象的String表示。 Layout对象使用此对象来准备最终的日志记录信息。
LogManager: LogManager对象用于管理日志记录框架。它用于从系统范围的配置文件或配置类中读取初始配置参数。