为啥要使用SLF4J而不是Log4J

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥要使用SLF4J而不是Log4J相关的知识,希望对你有一定的参考价值。

SLF4J不同于其他日志类库,与其它有很大的不同。SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。如果是在编写供内外部都可以使用的API或者通用类库,那么你真不会希望使用你类库的客户端必须使用你选择的日志类库。

这就相当于JAVA代码中的抽象类或者接口,只提供一组抽象方法,而不做具体实现。使用者可以根据自己具体的项目需求来做个性化的实现。

另外很多开源框架比如常用的spring,内部都会用到SLF4J,道理同上。因为开源的本质就是开放实现,让用户自己去定义具体的功能实现。

总的来说,SLF4J使你的代码独立于任意一个特定的日志API,这是一个对于开发API的开发者很好的思想。
参考技术A SLF4J不同于其他日志类库,与其它有很大的不同。SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。如果是在编写供内外部都可以使用的API或者通用类库,那么你真不会希望使用你类库的客户端必须使用你选择的日志类库。

这就相当于JAVA代码中的抽象类或者接口,只提供一组抽象方法,而不做具体实现。使用者可以根据自己具体的项目需求来做个性化的实现。

另外很多开源框架比如常用的spring,内部都会用到SLF4J,道理同上。因为开源的本质就是开放实现,让用户自己去定义具体的功能实现。

总的来说,SLF4J使你的代码独立于任意一个特定的日志API,这是一个对于开发API的开发者很好的思想。

以上是关于为啥要使用SLF4J而不是Log4J的主要内容,如果未能解决你的问题,请参考以下文章

为啥要使用SLF4J而不是Log4J

为啥要使用SLF4J而不是Log4J

为啥使用 SLF4J 而不是 Log4J 来做 Java 日志

log4j.xml 为什么要使用SLF4J而不是Log4J

为什么使用 SLF4J 而不是 Log4J 来做 Java 日志

log4j+logback+slf4j+commons-logging的关系与调试(转)