码迷,mamicode.com
首页 > 其他好文 > 详细

slf4j

时间:2020-07-23 22:45:20      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:这一   boot   开发   logback   nal   吞吐量   输出   api   enable   

SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。


LF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。SLF4J使你的代码独立于任意一个特定的日志API,这是一个对于开发API的开发者很好的思想。
使用slf4j后,底层可以使用任意的日志实现。

优点总结:

1)在你的开源库或者私有库中使用SLF4J,可以使它独立于任何的日志实现,这就意味着不需要管理多个库和多个日志文件。你的客户端将会体会到这一点。

2)SLF4J提供了占位日志记录,通过移除对isDebugEnabled(), isInfoEnabled()等等的检查提高了代码的可读性。

3)通过使用日志记录方法,直到你使用到的时候,才会去构造日志信息(字符串),这就同时提高了内存和CPU的使用率。

4)做一个侧面的说明,越少的临时字符串,垃圾回收器就意味着越少的工作,这就意味着为你的应用程序提供更好的吞吐量和性能。

 

在手册中的日志规约中,看到有一条这样的规定,说实话我有点懵逼, Log4j 不是 Java 中应用最广的日志系统么?为啥不让用?

【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架
SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(Abc.class);


参考:
1)为什么使用 SLF4J 而不是 Log4J 来做 Java 日志
2)SpringBoot使用slf4j日志输出配置

3)SpringBoot - 日志的配置和使用详解(SLF4j、Logback)

 

slf4j

标签:这一   boot   开发   logback   nal   吞吐量   输出   api   enable   

原文地址:https://www.cnblogs.com/songjn/p/13367422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!