SLF4J 使用详细

1. 问题场景
场景:在项目中引用一个第三方依赖时,启动应用程序报多日志桥接器错误,经问题排查发现第三方依赖包含非SLF4J桥接器(本项目中使用SLF4J日志门面框架)。
解决:将JCL的调整至SLF4J,具体明细见官网。
官网:
“http://www.slf4j.org/manual.html#swapping” “http://www.slf4j.org/legacy.html”

2. SLF4J流程调用
2.1 SLF4J与日志实现框架调用

简单调用图

2.2 简单描述
应用程序通过调用SLF4J API 实现对具体日志框架的使用,中间经过桥接器进行适配不同的日志实现(log4j、jul、logback、nop等)。
其中logback与SLF4J是同组织实现,可直接SLF4J调用而不需要桥接器。
2.3 从JCL迁移至SLF4J

如上图所示,可根据实际情况调整依赖包(log4j-over-slf4j.jar),做到直接迁移使用SLF4J日志门面接口。
2.4 通过SLF4J 调用JCL
两者属于同层级,仅为解决项目中必须使用JCL框架时,可通过引用依赖包,通过SLF4J对JCL的直接调用
“http://www.slf4j.org/legacy.html”
3.日志使用
3.1 日志中的占位符使用

logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);

3.2 典型使用

public class TestController {private static final Logger logger = LoggerFactory.getLogger(TestController.class);private Integer t;private Integer oldT;public void setTemperature(Integer temperature) {oldT = t;t = temperature;logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);if (temperature > 50) {logger.info("Temperature has risen above 50 degrees {}.", t);}}public static void main(String[] args) {logger.info("hello word!");TestController testController = new TestController();testController.setTemperature(500);}}

PS:本文未详细叙述底层实现原理,仅仅阅读SLF4J获取Logger源码,具体日志实现框架源码未涉猎,仅作为个人对SLF4J使用流程记录。

SLF4J 使用详细相关推荐

  1. [转载]java日志框架log4j详细配置及与slf4j联合使用教程

    一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到"build path" 1 2 3 4 5 &l ...

  2. java日志框架log4j详细配置及与slf4j联合使用教程

    最后更新于2017年02月09日 一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到"build path&q ...

  3. 自定义SLF4J日志格式,超详细

    在springBoot中统一定义或切换日志,类似中间件替换的原理 1.将系统中其他日志框架先排除出去(Commons logging/boss logging --): 2.用中间包来替换原有的日志框 ...

  4. idea ssm框架 mysql_idea搭建简单ssm框架的最详细教程(新)

    为开发一个测试程序,特搭建一个简单的ssm框架,因为网上看到很多都是比较老旧的教程,很多包都不能用了,eclipes搭建并且其中还附带了很多的其他东西,所以特此记录一下mac中idea搭建过程. 另: ...

  5. SLF4J 之logback.xml配置文件实例及其说明

    为什么80%的码农都做不了架构师?>>>    对于java后端程序员来说,如何记录日志是一个小话题,只要在网上随便找一个log4j的简单说明,就可以用了.但是,要真正了解日志记录的 ...

  6. logback配置控制打印台异常信息_logback异常输出详细信息(调用堆栈)分析

    Logback背景 Logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的. logback由三个部分组成,logback-core, logback-classic, lo ...

  7. [转]SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    使用SSM(spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...

  8. logback:用slf4j+logback实现多功能日志解决方案

    slf4j是原来log4j的作者写的一个新的日志组件,意思是简单日志门面接口,可以跟其他日志组件配合使用,常用的配合是slf4j+logback,无论从功能上还是从性能上都较之log4j有了很大的提升 ...

  9. springboot 文件服务器_Spring Boot整合阿里OSS文件储存服务器详细教程

    一.准备工作 开发工具idea,jdk1.8,测试工具 postman 注册阿里云服务器并创建oss储存库, 创建Spring boot空项目 二. 引入pom.xml org.springframe ...

最新文章

  1. 清华大学 pip 源
  2. C#操作SharePoint列表
  3. 简述ajax的重构原因,Ajax 重构的步骤
  4. error C3872: '0x3000': this character is not allowed in an identifier 解决方法
  5. elasticsearch常见错误解决办法
  6. Java-break-continue
  7. 【笔记】具有O-DU和O-RU的eNB / gNB架构
  8. GDAL读取jpg文件中GPS坐标信息
  9. HDU 3420 Bus Fair [补]
  10. oracle时间去掉时分秒的时间_超详细的oracle修改AWR采样时间间隔和快照保留时间教程...
  11. 【转】修改UCGUI源代码以支持多个独立窗体的说明
  12. 线程池原理_JAVA并发编程:详解线程池的工作原理
  13. bzoj2631:tree
  14. AMESim电池模组热失控仿真
  15. amd linux显卡驱动,AMDAMD ATI Radeon Mobility FireGL 9.10显卡驱动官方正式版下载,适用于linux-驱动精灵...
  16. krpano 如何开启调试
  17. MAC删除多余的声音驱动文件
  18. 页面底部copyright部分制作过程中遇到的问题,解决以及总结
  19. CANape19系统需求与特性简介
  20. 店铺转让小程序源码门店出租系统定制

热门文章

  1. 微信小程序的 websocket 以及 微信开发者工具测试 ws 协议没有数据的 离奇解决方案 记录
  2. 基于Memcached的DRDos的研究与攻击复现
  3. c语言二叉树的遍历菜单系统,二叉树遍历C语言的实现
  4. Doctype 的作用
  5. 如何预防企业内部数据泄密事件
  6. 盛迈坤电商:拼多多开店选择什么类目
  7. 面向对象编程原则(08)——合成复用原则
  8. 当中秋遇上国庆,你造企业发放的中秋好礼却要缴个税吗?
  9. linux语音服务器,搭建linux下teamspeak3多人语音服务器
  10. 建网站还是用HDHCMS好