Appenders

繁华浮尘,倾听Appenders的故事

孤人 提交于 2019-12-03 21:09:24
#前言 前面一篇博客(《 纷乱日志框架,你选谁?》 )讲了各种的日志框架的概况,后续的博客将针对log4j 2的配置做一些介绍,最后会去探讨和研究下log4j 2内部的结构以及实现,然后这一系列的博客就结束了。 关于log4j 2的配置,将会从Appenders入手开始,看完官网的相应资料以及自己的动手实验,会感觉log4j 2提供了相当强大的日志活动以及过滤操作的支持,让人情不自禁的想去了解内部是怎样的一种架构。当然心急吃不了热豆腐,让我们先来感受感受log4j 2的Appender强大功能,倾听这位乱世佳人的故事。 #Appenders Appenders作用是传递日志活动(logEvents)至目标Logger上,每个Appender都实现了 Appender 接口。大多数Appenders继承了 AbstractAppender ,这个抽离类实现了 Lifecycle 接口和 Filterable 接口,因而提供了相应生命周期以及过滤功能的支持。 Appender通常只负责写相关日志数据至目标Logger上,大多数情况下,它还需要格式化相应的日志数据。有些Appender还封装了其它的Appender,以实现可以修改日志活动信息,处理Appender的内部失败,基于高级的过滤规则路由信息至稳定的Appender等功能。 Appender通常会被命名一个名字