SLF4J

为什么要使用SLF4J而不是Log4J

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

还有一个SLF4J API的特性,占位符(place holder),在代码中表示为“{}”的特性。占位符是一个非常类似于在String的format()方法中的%s,因为它会在运行时被某个提供的实际字符串所替换。这不仅降低了你代码中字符串连接次数,而且还节省了新建的String对象。

在你的开源或内部类库中使用SLF4J会使得它独立于任何一个特定的日志实现,这意味着不需要管理多个日志配置或者多个日志类库,你的客户端会很感激这点。SLF4J提供了基于占位符的日志方法,这通过去除检查isDebugEnabled(), isInfoEnabled()等等,提高了代码可读性。通过使用SLF4J的日志方法,你可以延迟构建日志信息(Srting)的开销,直到你真正需要,这对于内存和CPU都是高效的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每一个Java程序员都知道日志对于任何一个Java应用程序,尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各...
    七弦桐语阅读 17,966评论 0 12
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,819评论 19 139
  • 本文转自云栖社区-点击可以查看原文 1 基本介绍 每一个Java程序员都知道日志对于任何一个Java应用程序,尤其...
    小孩真笨阅读 9,940评论 0 0
  • 写Java也有一段时间了,一直都有用slf4j log4j输出日志的习惯。但是始终都是抱着“拿来主义”的态度,复制...
    Minimumy阅读 5,214评论 1 7
  • 3 slf4j 3.1 简介 与commons-logging相同,slf4j也是一个通用的日志接口,在程序中与其...
    贾博岩阅读 7,720评论 0 7

友情链接更多精彩内容