slf4j和Log4j

作为一个程序员,我想大家应该知道日志对于一个程序的重要性。很多情况下,日志是我们了解程序如何执行的唯一方式。

对于强大的Java语言来讲,在日志方面有很多成熟的开源框架可以被直接使用,如:JDK自带的原生日志框架java.util.logging、Log4j、LogBack、Log4j2。

而我们在使用日志框架的时候,建立使用日志门面的方式。

那么问题来了,日志门面是什么?

实际上,SLF4J就是日志门面的一种。它只是一个门面服务,具体的实现还是要依赖Log4j、LogBack这样的日志框架。这是门面模式的一个经典实现。就像我们去饭店吃饭,只需要向服务员点菜即可,具体菜怎么做,是厨师来实现。

故,一般使用日志工具的时候,选用SLF4J(或其它的日志门面) + Log4j(或其它的日志框架)的方式。

就算程序需要更换日志框架,我们也可以不用考虑更换所带来的成本。因为日志门面的存在,使我们不用考虑日志实现的具体细节。当然是用日志门面,还有其自身带来的一些其他的便利,此处不做赘述。

综上所述,在使用日志工具的时候,不直接使用Log4j框架所提供的API,而是通过使用SLF4J日志门面来实现日志的操作。

猜你喜欢

转载自blog.csdn.net/yu532164710/article/details/89206498