JAVA简易日志门面(Simple Logging Facade for Java,缩写SLF4J),是一套包装Logging 框架的界面程式,以外观模式实现。可以在软件部署的时候决定要使用的 Logging 框架,目前主要支援的有Java Logging API、log4j及logback等框架。以MIT 授权方式发布。

与 log4j 的比较

log4j 提供 TRACE, DEBUG, INFO, WARN, ERROR 及 FATAL 六种纪录等级,但是 SLF4J 认为 ERROR 与 FATAL 并没有实质上的差别,所以拿掉了 FATAL 等级,只剩下其他五种。

大部分人在程序里面会去写logger.error(exception),其实这个时候log4j会去把这个exception tostring。真正的写法应该是logger(message.exception);而slf4j就不会使得程序员犯这个错误。

log4j间接的在鼓励程序员使用string相加的写法,而slf4j就不会有这个问题 ,你可以使用logger.error("{} is+serviceid",serviceid);

使用slf4j可以方便的使用其提供的各种集体的实现的jar。(类似commons-logger)

从commons--logger和log4j merge非常方便,slf4j也提供了一个swing的tools来帮助大家完成这个merge。

提供字串内容替换的功能,会比较有效率,说明如下:

// 传统的字符串产生方式,如果没有要记录Debug等级的信息,就会浪费时间在产生不必要的信息上

logger.debug("There are now " + count + " user accounts: " + userAccountList);

// 为了避免上述问题,我们可以先检查是不是开启了Debug信息记录功能,只是程序的编码会比较复杂

if (logger.isDebugEnabled()) {

logger.debug("There are now " + count + " user accounts: " + userAccountList);

}

// 如果Debug等级没有开启,则不会产生不必要的字符串,同时也能保持程序编码的简洁

logger.debug("There are now {} user accounts: {}", count, userAccountList);

SLF4J 只支持 MDC,不支持 NDC。

java slf4j日志框架_SLF4J - 日志框架 - 类库 - Java - 代码树相关推荐

  1. java slf4j日志级别_SLF4J日志级别以及使用场景

    为什么要使用日志 在项目开发的过程中, 添加合适的日志是一个必不可少的过程,给程序添加合适的日志有以下两个好处. 可以通过查看日志的输出,了解程序的运行状况,判断程序是否按预期进行运行. 程序出现bu ...

  2. java slf4j 占位符_slf4j 占位符

    slf4j format 占位符使用{}. For example, MessageFormatter.format("Hi {}.", "there") 1 ...

  3. Java之父都需要的《Effective Java中文版(第3版)》到底有多牛b!Java程序员都应该需要!

    写在前面 你是否正在寻找一本能够更加深入地了解Java编程语言的书,以便编写出更清晰.更正确.更健壮且更易于重用的代码? Effective Java中文版(第3版) 再适合不过了!这是一本分享经验并 ...

  4. java看log技巧_Log日志框架的学习五.正确使用日志的10个技巧

    做一个苦逼的Java攻城师, 我们除了关心系统的架构这种high level的问题, 还需要了解一些语言的陷阱, 异常的处理, 以及日志的输出, 这些"鸡毛蒜皮"的细节. 这篇文章 ...

  5. java log4j logback jcl_进阶之路:Java 日志框架全画传(下)

    导读:随着互联网和大数据的蓬勃发展,分布式日志系统以及日志分析系统得到了广泛地应用.目前,几乎在所有应用程序中,都会用到各种各样的日志框架来记录程序的运行信息.鉴于此,工程师十分有必要熟悉主流的日志记 ...

  6. Java日志框架 -- JCL日志门面(JCL概念介绍、JCL示例)

    1. JCL 全称为Jakarta Commons Logging,是Apache提供的一个通用日志API.是日志门面的一种实现方式,另外一种日志门面的实现方式是Slf4j. 它是为 "所有 ...

  7. 日志框架(3) : 日志门面、JCL介绍、SLF4J介绍

    文章目录 日志门面 日志门面概述 门面模式(外观模式) 日志门面 常见的日志框架及日志门面 JCL简介 SLF4J SLF4J简介 SLF4J桥接技术 SLF4J特点 SLF4J集成日志实现(jul, ...

  8. java框架学习日志-2

    2019独角兽企业重金招聘Python工程师标准>>> 上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又 ...

  9. 日志门面和日志框架(日志实现框架log4j2)

    一.log4j2简介 Apache Log4j 2是对Log4j的升级,是最优秀的java日志框架. 二.log4j2特征 性能提升:Log4j2包含基于LMAX Disruptor库的下一代异步记录 ...

最新文章

  1. FreeMarker 语法 include 引用模板
  2. 003 Android之线性布局与基础控件
  3. C#设置WebBrowser使用Edge内核
  4. 深度测试与alpha混合(3)
  5. 【Anaconda版本重装】Anaconda版本与Python版本的对应关系
  6. Python3不需要uuid:导入/usr/local/lib/python3.x/site-packages/uuid.py提示if not 0 time_low 32L错误
  7. python maketrans函数_python中maketrans
  8. cmd imp导入dmp文件_dmp文件导入抽取方法(示例代码)
  9. 华为ensp模拟校园网/企业网实例--中型企业无线网络的设计
  10. java阿里云图片检测同/异步sdk调用详解
  11. 500行代码,教你用python写个微信飞机大战
  12. TM1637四位数码管驱动
  13. linux unison数据同步,linux下unison双向数据实时同步
  14. 企业数字化转型saas电商系统(已开源)
  15. OSF SDN在云计算网络虚拟化中的应用
  16. 关于Could not find method javacompileOptions() for arguments
  17. sws_kp操作(selenium webdriver+python)
  18. uniapp vue 身份证号校验
  19. 淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树
  20. PyQt5快速入门(一)PyQt5简介

热门文章

  1. mysql pdo 获取最后一条sql_一条SQL如何在MYSQL中执行的
  2. 华为云计算之快照技术
  3. Java设计模式(二十二):原型设计模式
  4. ajax省市联动案例,AJAX案例四:省市联动(示例代码)
  5. ngin配置301重定向设置方法和nginx子目录301重定向
  6. springboot整合mybatis增删改查(三):mybatis逆向工程
  7. 获取C#中方法的执行时间及其代码注入
  8. linux虚拟机安装oracle全过程(一)
  9. Hibernate 入门小案例
  10. SDL2源码分析6:拷贝到渲染器(SDL_RenderCopy())