Log4j教程

Log4j 架构

Log4j 架构

Log4j 遵循分层架构,其中每一层用于提供不同的对象来执行不同的任务。这种分层架构使设计在未来可以轻松灵活地扩展。
log4j 框架中有两种类型的对象:
核心对象: 核心对象是框架的强制性对象。使用框架需要所有对象。
支持对象: 支持对象是框架的可选对象。它们曾经支持核心对象执行额外但重要的任务。

核心对象

有以下类型的核心对象或以下是 log4J 组件:

Logger:

Logger 是提供Logger 对象的顶级层。 Logger 对象负责获取日志信息,它们存储在命名空间层次结构中。
Logger 是一个类,它在 org.apache.log4j.* 中可用。 我们必须为每个 Java 类创建一个 Logger 对象 Logger 组件用于在我们的 java 类中启用 log4j Logger 方法用于在 Java 类而不是 SOPLS 中生成日志语句。 为了获取 Logger 类的对象,我们需要调用一个静态工厂方法,该方法将返回一个对象作为返回类型 我们必须在类名之后创建一个 Logger 对象。例如:
获取记录器对象:
static Logger log = Logger.getLogger(YourClassName.class.getName())
注意: 当你创建一个记录器对象时,我们需要传递一个完全限定的类名或类对象作为参数,其中 class 表示我们将使用 log4j 的当前类.
Logger 对象有一些方法;这些方法用于打印我们应用程序的状态:
这些方法是:
debug() info() warn() error() fatal()
这些方法大致相同。这些方法的优先级顺序是: debug < info < warn < error < fatal.

Appender:

appender 是下层组件,它提供Appender 对象。 Appender 对象负责将日志信息发布到各种首选目的地,例如文件、数据库、控制台、Unix Syslog 等。
Logger 类用于生成不同级别的语句,Appender 将这些日志存储在一些数据库或文件中。 Appender 不是一个类;它是一个接口。
在 log4j 中,我们有不同的 Appender 实现类:
FileAppender: 用于将日志事件附加到文件中。它支持另外两个 appender 类:
RollingFileAppender: 扩展 FileAppender 类以在日志文件达到一定大小时对其进行备份。 DailyRollingFileAppender: 扩展 FileAppender 类,以便以用户选择的频率滚动底层文件。
ConsoleAppender: 使用用户指定的布局将日志事件附加到 System.err 或 System.out。默认控制台为 System.out。
JDBCAppender: 用于数据库。
SMTPAppender: 用于在以下情况下发送电子邮件发生特定的日志事件,通常是错误或致命错误。
SocketAppender: 用于远程存储。
SyslogAppender: 将消息发送到远程 Syslog 域。
TelnetAppender: 专门写入只读套接字。
WriterAppender: 用于根据用户的选择将日志事件附加到 Writer 或 OutputStream。

布局:

布局层提供布局对象 用于格式化不同风格的日志信息。它用于在发布日志信息之前为 appender 对象提供支持。
Layout 对象在以一种人类可读和可重用的方式发布日志信息方面发挥着重要作用。
布局组件定义了appender将日志语句写入目标存储库的格式。
log4j中有不同类型的布局类:
SimpleLayout: 用于以非常简单的方式格式化输出;它打印级别,然后是破折号"-",然后是日志消息。 PatternLayout: 用于根据指定的转换模式格式化输出,如果未指定,则考虑默认转换模式。 HTMLLayout: 将输出格式化为 HTML 表格。 XML 布局 Log4j Architecture

支持对象

还有其他不同的log4j 框架中的对象,它们在日志记录框架中起着至关重要的作用:
级别对象: 级别对象定义了任何日志记录信息的优先级和粒度。 API 中定义了七个级别的日志记录: OFF、DEBUG、INFO、ERROR、WARN、FATAL 和 ALL。
过滤器对象: 该对象分析日志信息并生成关于是否应该记录该信息的其他决定。
ObjectRenderer: ObjectRenderer 对象专门用于提供传递给日志框架的不同对象的字符串表示。 Layout 对象使用此对象来准备最终的日志信息。
LogManager: LogManager 对象用于管理日志框架。用于从系统范围的配置文件或配置类中读取初始配置参数。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4