logback那些事 (二)

2014-11-24 07:34:38 · 作者: · 浏览: 1
PT ,直接第3步。

2, Apply the basic selection rule,如果log请求的阈值和高于配置的阈值,那么放弃处理该log。

3, Create a LoggingEvent object,logback会构建一个LoggingEvent对象,包含了所有的请求参数。其中有些参数可能是延迟加载的。

4, Invoking appenders,logback调用doAppend方法。

5, Formatting the output,layout会把LoggingEvent对象按固定格式格式化并返回字符串形式,像SocketAppender这样的方法不会返回字符串,相似的只会把它序列化。

6, Sending out the LoggingEvent,把最终形式打印到对应的目的地址。

流程图见这里http://logback.qos.ch/manual/underTheHood.html

最后还是通过性能讨论结束这篇短文,性能的东西,我们不去看代码的话,是无法估计复杂度的变化的。那么就官网上给出的3条提示,第一点针对参数构建,第二点针对level的定位,这个在看过代码后,发现确实精简了,尤其是那种复杂的hierarchy结构没有了,线性的链条运行起来明显会快,算是去除冗余做了优化吧。第3条针对说format和write会快,尤其是format被大力投入改进,这个在看过代码后,可以做个比较。

本文算是一篇半自主半翻译的文章吧,重在学习。

参考文献:

http://logback.qos.ch/manual/introduction.html

摘自 Change Dir