加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

简单认识SLF4J

发布时间:2020-12-14 06:39:56 所属栏目:Java 来源:网络整理
导读:SLF4J JAVA 简易日志门面 【Simple Logging Facade for Java,缩写SLF4J】 宏观定义:一套包装Logging 框架的界面程式,以外观模式实现 定性:它仅仅是一个提供日志输出的统一接口,而非具体的日志实现方案。具体的日志实现方案有:log4j、JDK14、Simple等。

SLF4J

  • JAVA 简易日志门面 【Simple Logging Facade for Java,缩写SLF4J】
  • 宏观定义:一套包装Logging 框架的界面程式,以外观模式实现
  • 定性:它仅仅是一个提供日志输出的统一接口,而非具体的日志实现方案。具体的日志实现方案有:log4j、JDK14、Simple等。
  • 支持5种记录等级 【级别依次升高】
    • TRACE 比 DEBUG 级别的粒度更细。
    • DEBUG 指明细致的事件信息,对调试应用最有用。
    • INFO 【常用,目前项目中用到的比较多】 指明描述信息,从粗粒度上描述了应用运行过程。
    • WARN 指明潜在的有害状况。
    • ERROR 【常用,目前项目中用到的比较多】 指明错误事件,但应用可能还能继续运行。
  • 优势

    • SLF4J作为一个抽象层,允许后台使用任意日志类库。 测试方式: 1)新建一个maven项目 2)在pom文件中添加不同日志系统的依赖 3)利用main类进行测试 可以发现,main类的代码不需要改动,但控制台输出日志信息格式等会根据当前日志系统特点而展示。
    • 使得系统代码独立于任意一个特定的日志API。  
    • 占位符的使用  
      • 占位符会在系统运行时被某个提供的字符串替换  
      • 通过降低String的拼接次数,节省了新建的String对象
      • 降低String对象的生成,节省内存空间  
    • 延迟构建日志的开销 降低堆内存的消耗+降低CPU处理字符串连接命令的时间   

      最近在实习,发现公司里面都是利用SLF4J的日志处理方式,同时阿里巴巴开发手册里面【日志规约】也强制要求,应用中不可直接使用日志系统 (Log 4 j 、 Logback) 中的 API,而应依赖使用日志框架SLF 4 J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。所以做了简单的学习并搭建了一个简单的maven项目进行了测试。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读