最近在读log4j的源码,源码不大,但是初次阅读源码,还是会不断地出现疑惑。首先花了一些时间弄清楚了log4j的整体流程,个各类之间的关系。
操作流程如下:

下面说说最近发现用到的几个设计模式:
1、Factory 模式
Logger logger= Logger.getLogger(Test.class.getPackage().getName());
即客户端通过调用Logger的getLogger方法获得Logger,Logger则调用LoggerManager方法获得Logger,
而loggerManager则通过调用LoggerRepository的getLogger方法获得Logger,如果logger不在LoggerRepository中,
则用LoggerFactory的makeNewLoggerInstance创建一个Logger。这是一个工厂模式。
2、Template method
AppenderSelecton就是用到了Template Method
- public

本文探讨了在阅读log4j源码时发现的设计模式应用,包括Factory模式在Logger获取中的实现,Template Method在AppenderSelection中的使用,以及Logger作为Facade的角色。通过对这些模式的分析,揭示了log4j如何高效地处理日志操作。
最低0.47元/天 解锁文章
1077

被折叠的 条评论
为什么被折叠?



