java slf4j日志框架_SLF4J - 日志框架 - 类库 - Java - 代码树
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 - 代码树相关推荐
- java slf4j日志级别_SLF4J日志级别以及使用场景
为什么要使用日志 在项目开发的过程中, 添加合适的日志是一个必不可少的过程,给程序添加合适的日志有以下两个好处. 可以通过查看日志的输出,了解程序的运行状况,判断程序是否按预期进行运行. 程序出现bu ...
- java slf4j 占位符_slf4j 占位符
slf4j format 占位符使用{}. For example, MessageFormatter.format("Hi {}.", "there") 1 ...
- Java之父都需要的《Effective Java中文版(第3版)》到底有多牛b!Java程序员都应该需要!
写在前面 你是否正在寻找一本能够更加深入地了解Java编程语言的书,以便编写出更清晰.更正确.更健壮且更易于重用的代码? Effective Java中文版(第3版) 再适合不过了!这是一本分享经验并 ...
- java看log技巧_Log日志框架的学习五.正确使用日志的10个技巧
做一个苦逼的Java攻城师, 我们除了关心系统的架构这种high level的问题, 还需要了解一些语言的陷阱, 异常的处理, 以及日志的输出, 这些"鸡毛蒜皮"的细节. 这篇文章 ...
- java log4j logback jcl_进阶之路:Java 日志框架全画传(下)
导读:随着互联网和大数据的蓬勃发展,分布式日志系统以及日志分析系统得到了广泛地应用.目前,几乎在所有应用程序中,都会用到各种各样的日志框架来记录程序的运行信息.鉴于此,工程师十分有必要熟悉主流的日志记 ...
- Java日志框架 -- JCL日志门面(JCL概念介绍、JCL示例)
1. JCL 全称为Jakarta Commons Logging,是Apache提供的一个通用日志API.是日志门面的一种实现方式,另外一种日志门面的实现方式是Slf4j. 它是为 "所有 ...
- 日志框架(3) : 日志门面、JCL介绍、SLF4J介绍
文章目录 日志门面 日志门面概述 门面模式(外观模式) 日志门面 常见的日志框架及日志门面 JCL简介 SLF4J SLF4J简介 SLF4J桥接技术 SLF4J特点 SLF4J集成日志实现(jul, ...
- java框架学习日志-2
2019独角兽企业重金招聘Python工程师标准>>> 上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又 ...
- 日志门面和日志框架(日志实现框架log4j2)
一.log4j2简介 Apache Log4j 2是对Log4j的升级,是最优秀的java日志框架. 二.log4j2特征 性能提升:Log4j2包含基于LMAX Disruptor库的下一代异步记录 ...
最新文章
- FreeMarker 语法 include 引用模板
- 003 Android之线性布局与基础控件
- C#设置WebBrowser使用Edge内核
- 深度测试与alpha混合(3)
- 【Anaconda版本重装】Anaconda版本与Python版本的对应关系
- Python3不需要uuid:导入/usr/local/lib/python3.x/site-packages/uuid.py提示if not 0 time_low 32L错误
- python maketrans函数_python中maketrans
- cmd imp导入dmp文件_dmp文件导入抽取方法(示例代码)
- 华为ensp模拟校园网/企业网实例--中型企业无线网络的设计
- java阿里云图片检测同/异步sdk调用详解
- 500行代码,教你用python写个微信飞机大战
- TM1637四位数码管驱动
- linux unison数据同步,linux下unison双向数据实时同步
- 企业数字化转型saas电商系统(已开源)
- OSF SDN在云计算网络虚拟化中的应用
- 关于Could not find method javacompileOptions() for arguments
- sws_kp操作(selenium webdriver+python)
- uniapp vue 身份证号校验
- 淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树
- PyQt5快速入门(一)PyQt5简介
热门文章
- mysql pdo 获取最后一条sql_一条SQL如何在MYSQL中执行的
- 华为云计算之快照技术
- Java设计模式(二十二):原型设计模式
- ajax省市联动案例,AJAX案例四:省市联动(示例代码)
- ngin配置301重定向设置方法和nginx子目录301重定向
- springboot整合mybatis增删改查(三):mybatis逆向工程
- 获取C#中方法的执行时间及其代码注入
- linux虚拟机安装oracle全过程(一)
- Hibernate 入门小案例
- SDL2源码分析6:拷贝到渲染器(SDL_RenderCopy())