Java日志框架解析
在平常的系统开发中,日志的作用是很重要的,日志写得好对于线上问题的追踪有很大的帮助,一个好的日志框架要方便易用,性能也得要好,减少日志输出对系统内存、CPU的影响。下面就来介绍一下Java日志框架解析。
Java如何学习,比较常见的日志组件有slf4j、commons-logging、log4j、logback,这几种日志组件之间的关系是怎样的呢?大致可以分为4类:
1.日志门面:commons-logging-api和slf4j提供了一套通用的接口,具体的实现可以由开发者自由选择。
2.具体实现:log4j、logback、log4j2等都是slf4j的具体实现,不需修改代码,通过简单的修改配置即可实现切换,十分方便。
3.旧日志到slf4j的适配器:一些系统之前采用的是老的日志组件,其API和slf4j不太一样,那么如果想要切换成slf4j+具体实现的模式,可以使用一些适配器来嫁接到sl4fj上,比如log4j-over-slf4j可以用于替换log4j。
4.slf4j到旧实现的适配器:有些日志组件的出现早于 slf4j,其API和slf4j不一样,如果想要在代码中使用slf4j做API,而实现才有这些老日志组件,那么就需要一个slf4j到旧实现的适配器,比如slf4j-log4j12。
Java日志框架解析
门面模式,是面向对象设计模中的结构模式,又称为外观模式。外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一个组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这个子系统更加容易使用。
使用门面模式的好处是接口和实现分离,屏蔽了底层的实现细节。当使用slf4j作为系统的日志门面时,底层具体实现可以使用log4j、logback、log4j2中的任意一个。将一个类的接口转成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类一起工作。
通常要组合两个不相干的类有两种方法,一种是修改各自的接口,如果不方便修改,就需要使用Adapter适配器,在两个接口间做一个适配层。
Adapter适配器设计模式中有3个重要角色:被适配者Adaptee,适配器Adapter和目标对象Target。想要把Client/Target和Adaptee组合到一起,而它们接口又不适配时,就可以通过创建一个适配器Adapter将它们组合在一起。
比如想要将slf4j和log4j组合在一起,然而它们之间接口又不一致,就使用slf4j-log4j1来做适配器达到目的。适配器的存在,避免了对已有组件的修改。
想要了解更多的Java相关信息,关注光环大数据,各种干货等你来看。
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服!