Log4j官方文档翻译(二、架构设计)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

log4j遵循层次化架构,每个层都有不同的对象来执行不同的任务。这种层次话的结构灵活设计、易于未来的扩展。

log4j框架中有两种对象:

  • 核心对象:框架的支撑对象,是框架必不可少的组成部分。
  • 支撑对象:这些是框架可选的对象,用于提供额外重要的工作。


核心对象包括下面几种类型:

  1. logger对象,是最高的层,负责通过不同的风格转化日志信息。它提供给appender对象发布前的信息。(这里的层是指所处的位置)
  2. layout对象,用于提供格式化日志信息的风格,在发布日志信息前,使其变得可读、可重用。
  3. appender对象,这个对象属于底层的对象,它负责发布信息到不同的目的地,比如数据库、文件、控制台、UNIXsyslog等等。


下面就是log4j的架构组成图:



支撑对象,他们在log4j框架中扮演了很关键的角色:

  1. level对象:级别对象定义来日志信息的粒度和优先级,有七种级别:OFF,DEBUG,INFO,ERROR,WARN,FATAL和ALL。
  2. 过滤器对象:用于分析日志信息并决定日志信息是否输出。每个appender对象可以有几个过滤器对象协同工作,当日志信息到达特定的appender时,所有的过滤器会功能帮助appender在其发布到目的地之前进行过滤操作。
  3. 对象渲染器:提供一段字符串用于识别发送日志的不同对象,这个对象也用于为layout对象准备常量信息。
  4. 日志管理器:用于管理日志框架,它负责从初始化配置中读取信息,这个配置可能是文件配置、也可能是类的配置。
本文转自博客园xingoo的博客,原文链接:Log4j官方文档翻译(二、架构设计),如需转载请自行联系原博主。
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
5月前
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
96 1
|
XML JSON 监控
浅谈logback日志架构
浅谈logback日志架构
154 0
|
4月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
198 9
|
6月前
|
存储 算法 Java
高并发架构设计三大利器:缓存、限流和降级问题之滑动日志算法问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之滑动日志算法问题如何解决
|
7月前
|
缓存 关系型数据库 MySQL
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
120 3
|
8月前
|
Web App开发 监控 应用服务中间件
全新架构!日志服务 SLS 自研免登录方案发布
全新架构!日志服务 SLS 自研免登录方案发布
87626 19
|
7月前
|
消息中间件 存储 数据可视化
【JAVA日志】关于日志系统的架构讨论
【JAVA日志】关于日志系统的架构讨论
62 0
|
8月前
|
SQL 数据采集 运维
日志服务产品架构
日志服务产品架构
82 6
|
存储 SQL 缓存
Mysql数据库(3)—架构和日志
Mysql数据库(3)—架构和日志
92 0
Mysql数据库(3)—架构和日志
|
8月前
|
存储 监控 关系型数据库
ELK架构监控MySQL慢日志
ELK架构监控MySQL慢日志