005-日志系统的架构模型

1. 首先八卦一下这个日志家族的成员,下面这张图虽然没有包含全部的内容,但是基本也涵盖了日志系统的基本内容,不管怎么说,先记住下面这张图:005-日志系统的架构模型

2. 通过上面的图,可以简单的理清关系!
(1). commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现!
(2). log4j,logback等等才是日志的真正实现。
(3). 当我们调用接口时,接口的工厂会自动寻找恰当的实现,返回一个实现的实例给我服务。这些过程都是透明化的,用户不需要进行任何操作!

3. 这种结构模型的好处

如果你的项目已经使用了SLF4J + log4j,而你加载了一个类库,比方说 Apache Active MQ——它依赖于于另外一个日志类库logback,那么你就需要把它也加载进去。但如果Apache Active MQ使用的是SLF4J + logback,那么你就可以选择使用SLF4J + log4j 或者 SLF4J + logback。