Log4j 架构17 Mar 2025 | 4 分钟阅读 Log4j 遵循分层架构,其中每一层用于提供不同的对象来执行不同的任务。这种分层架构使设计易于扩展并在未来更灵活。 log4j 框架中有两种类型的对象 核心对象: 核心对象是框架的强制对象。 使用该框架需要所有对象。 支持对象: 支持对象是框架的可选对象。 它们用于支持核心对象以执行其他但重要的任务。 核心对象以下是核心对象的类型,或者是以下log4J组件 Logger(记录器)Logger 是顶层,提供 Logger 对象。 Logger 对象负责获取日志记录信息,它们存储在命名空间层次结构中。
获取 logger 对象 注意: 当您创建 logger 对象时,我们需要传递完全限定的类名或类对象作为参数,其中 class 表示我们将要使用 log4j 的当前类。Logger 对象有一些方法; 这些方法用于打印应用程序的状态 这些方法是
所有这些方法都大致相同。 这些方法的优先级顺序是:debug < info < warn < error < fatal。 Appender(追加器)Appender 是较低层组件,提供 Appender 对象。 Appender 对象负责将日志记录信息发布到各种首选目标,例如文件、数据库、控制台、Unix Syslog 等。
在 log4j 中,我们有不同的 Appender 实现类 FileAppender: 用于将日志事件追加到文件。 它支持另外两个 appender 类
ConsoleAppender: 使用用户指定的布局将日志事件追加到 System.err 或 System.out。 默认控制台是 System.out。 JDBCAppender: 用于数据库。 SMTPAppender: 用于在发生特定日志记录事件(通常是错误或致命错误)时发送电子邮件。 SocketAppender: 用于远程存储。 SyslogAppender: 将消息发送到远程 Syslog 域。 TelnetAppender: 专门写入只读套接字。 WriterAppender: 用于根据用户的选择将日志事件追加到 Writer 或 OutputStream。 布局Layout 层提供 Layout 对象,用于以不同的样式格式化日志记录信息。 它用于在发布日志记录信息之前为 appender 对象提供支持。 Layout 对象在以某种方式发布日志记录信息方面发挥着重要作用,即人类可读且可重用。 Layout 组件定义了 appender 将日志语句写入目标存储库的格式。 log4j 中有不同类型的布局类
![]() 支持对象log4j 框架中还有其他不同的对象,在日志记录框架中发挥着重要作用 Level 对象: Level 对象定义任何日志记录信息的优先级和粒度。 API 中定义了七个日志记录级别:OFF、DEBUG、INFO、ERROR、WARN、FATAL 和 ALL。 Filter 对象: 此对象分析日志记录信息,并就该信息是否应记录做出额外的决定。 ObjectRenderer: ObjectRenderer 对象专门用于提供传递给日志记录框架的不同对象的 String 表示形式。 Layout 对象使用此对象来准备最终的日志记录信息。 LogManager: LogManager 对象用于管理日志记录框架。 它用于从系统范围的配置文件或配置类中读取初始配置参数。 下一个主题Log4j 示例 |
我们请求您订阅我们的新闻通讯以获取最新更新。