SLF4J 使用详细
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 使用详细相关推荐
- [转载]java日志框架log4j详细配置及与slf4j联合使用教程
一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到"build path" 1 2 3 4 5 &l ...
- java日志框架log4j详细配置及与slf4j联合使用教程
最后更新于2017年02月09日 一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到"build path&q ...
- 自定义SLF4J日志格式,超详细
在springBoot中统一定义或切换日志,类似中间件替换的原理 1.将系统中其他日志框架先排除出去(Commons logging/boss logging --): 2.用中间包来替换原有的日志框 ...
- idea ssm框架 mysql_idea搭建简单ssm框架的最详细教程(新)
为开发一个测试程序,特搭建一个简单的ssm框架,因为网上看到很多都是比较老旧的教程,很多包都不能用了,eclipes搭建并且其中还附带了很多的其他东西,所以特此记录一下mac中idea搭建过程. 另: ...
- SLF4J 之logback.xml配置文件实例及其说明
为什么80%的码农都做不了架构师?>>> 对于java后端程序员来说,如何记录日志是一个小话题,只要在网上随便找一个log4j的简单说明,就可以用了.但是,要真正了解日志记录的 ...
- logback配置控制打印台异常信息_logback异常输出详细信息(调用堆栈)分析
Logback背景 Logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的. logback由三个部分组成,logback-core, logback-classic, lo ...
- [转]SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
使用SSM(spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- logback:用slf4j+logback实现多功能日志解决方案
slf4j是原来log4j的作者写的一个新的日志组件,意思是简单日志门面接口,可以跟其他日志组件配合使用,常用的配合是slf4j+logback,无论从功能上还是从性能上都较之log4j有了很大的提升 ...
- springboot 文件服务器_Spring Boot整合阿里OSS文件储存服务器详细教程
一.准备工作 开发工具idea,jdk1.8,测试工具 postman 注册阿里云服务器并创建oss储存库, 创建Spring boot空项目 二. 引入pom.xml org.springframe ...
最新文章
- 清华大学 pip 源
- C#操作SharePoint列表
- 简述ajax的重构原因,Ajax 重构的步骤
- error C3872: '0x3000': this character is not allowed in an identifier 解决方法
- elasticsearch常见错误解决办法
- Java-break-continue
- 【笔记】具有O-DU和O-RU的eNB / gNB架构
- GDAL读取jpg文件中GPS坐标信息
- HDU 3420 Bus Fair [补]
- oracle时间去掉时分秒的时间_超详细的oracle修改AWR采样时间间隔和快照保留时间教程...
- 【转】修改UCGUI源代码以支持多个独立窗体的说明
- 线程池原理_JAVA并发编程:详解线程池的工作原理
- bzoj2631:tree
- AMESim电池模组热失控仿真
- amd linux显卡驱动,AMDAMD ATI Radeon Mobility FireGL 9.10显卡驱动官方正式版下载,适用于linux-驱动精灵...
- krpano 如何开启调试
- MAC删除多余的声音驱动文件
- 页面底部copyright部分制作过程中遇到的问题,解决以及总结
- CANape19系统需求与特性简介
- 店铺转让小程序源码门店出租系统定制