摘要:
上篇博客介绍了ContextInitializer类如何把框架的配置工作委托给各个Action具体实现类,这篇博客就接下来介绍一下,Action组件是如何进行配置和实际工作的 如图所示,首先Action是一个抽象类,定义了begin()、body()、end()方法,这些方法如上篇博客所说,是给In 阅读全文
摘要:
这篇博客我们接着上一篇的主题,来介绍一下logback是怎么读取配置文件并初始化整个框架的。还是老规矩,先上总览图 从图中可以看到,logback框架的初始化是由ContextInitializer类来负责完成的,而实际进行配置的是GenericConfigurator类,它调用SaxEventRe 阅读全文
摘要:
上一篇我们说到Logger类的info()方法通过层层调用,最后委托Appender来记录日志,这篇博客我们就接着说一下,Appender组件是怎么记录日志的实际上Appender可能是logback框架中最重要的组件之一,虽然Logger是记录日志的接口,但是如果一个Logger没有关联到任何Ap 阅读全文
摘要:
上篇博客介绍了LoggerContext怎么生成Logger,Logger是logback的核心类,也是所有日志框架的核心类。这篇博客详细介绍一下Logger的各字段和方法,重点介绍Logger类是怎样记录日志的 Logger类实现了slf4j框架定义的Logger接口,然后这个类和LoggerCo 阅读全文
摘要:
上一篇博客介绍了logback的StaticLoggerBinder类怎么初始化并创建LoggerContext,这篇博客准备接下来介绍一下,LoggerContext怎么创建日志框架真正的核心类Logger。为什么logback框架提供的Logger是树形结构的呢?这就是在LoggerContex 阅读全文
摘要:
上篇博客介绍了logback是怎么对接slf4j的,简言之,就是通过下面这行代码 slf4j委托具体实现框架的StaticLoggerBinder来返回一个ILoggerFactory,从而对接到具体实现框架上这篇博客就接下来介绍一下,logback的StaticLoggerBinder类是怎么创建 阅读全文
摘要:
查看源码的建议: 1、源代码的类虽然很多,但是一般是有一个清晰的结构的(当然有些项目确实结构混乱,东一撮西一撮的,那没关系,不读就是了)。所以在深入到具体的细节之前,应该先把整个代码的结构梳理清楚,再一块一块地往下读。梳理清楚了脉络和结构,可以直接跳过不想深究的细节,只要知道它是干什么的就行了,当用 阅读全文
摘要:
slf4j简介和技术选型 市面上的日志框架: JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j.... 日志门面 (日志的抽象层)日志实现 JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade 阅读全文