SLF4J
SLF4J系列用法以及源码解读
即将奔跑的蜗牛
我就爱这个调调
展开
-
SLF4J(七) - 总结
经过这段时间的学习,简单总结一下。最核心的接口:SLF4JServiceProvider,日志实现类通过实现这个接口来绑定核心功能的实现。SLF4J中有三个核心接口:ILoggerFactory: 获取loggerIMarkFactory:获取marker,提供对marker的管理功能MDCAdapter:提供日志系统的context功能其他重要的类:Logging...原创 2020-03-16 12:19:07 · 534 阅读 · 0 评论 -
SLF4J(六) - MDC/MDCAdapter是什么?
是什么?MDC(Mapped Diagnostic Context,映射调试上下文)是日志系统提供的一种方便在多线程条件下记录日志的功能有什么用?一个常用的场景就是Web服务器中给每个请求都给一个独特的请求id,在合理配置日志的layout之后,所有的日志都会打印这个请求id,这样一个请求下的所有日志信息都可以很方便的找到。一个简单的理解可以认为是全局的marker信息,调用的时候不用类似...原创 2020-03-13 19:03:20 · 3343 阅读 · 0 评论 -
SLF4J(五) - Marker使用的误区- 源码分析
在之前的文章中我也分享过,如果去使用Marker标记不同的日志来源, 用来简单的做日志分类, 但最近发现使用的过程中有误区,可能会导致以后的替换日志实现框架的时候出现不兼容的问题。以Log4j的实现为例误区使用日志实现类的Marker来创建Marker,如以下的代码:import org.apache.logging.log4j.MarkerManager;import org.apac...原创 2020-03-13 14:27:09 · 6337 阅读 · 0 评论 -
SLF4J(四)-工厂模式/抽象工厂模式在SLF4J中的实践
早前看设计模式的时候,发现这套东西根本不太适合小项目或者项目开发初期,但最近发现SLF4J这个项目其实也挺小的,但是设计模式玩的挺溜的,然后就想着总结一下,这个项目中用到的设计模式。工厂模式定义:工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...原创 2020-03-12 14:23:21 · 920 阅读 · 0 评论 -
SLF4J(三) NOP Logger是怎么实现的呢?源码分析
文章目录情景代码解析NOPServiceProviderNOPLoggerFactoryNOPMDCAdapterBasicMarkerFactory总结情景我在之前的文章有提到过这个NOP service provider, 这种provider什么都不做,把日志打到/dev/null, 那它是怎么实现的呢?代码解析NOPServiceProvider我们可以看到这个类除去VERSIO...原创 2020-03-09 18:56:42 · 1600 阅读 · 0 评论 -
SLF4J(二) - SLF4J绑定了多个实现类的错误是怎么一回事儿?源码解析
情景在项目配置的初期,我们经常可以看到这样的错误:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/Users/liyi/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.j...原创 2020-03-03 17:18:40 · 2114 阅读 · 0 评论 -
SFL4J(一) - Java中那些剪不断理还乱的日志组件之SFL4J
对Java中常用日志组件的关系梳理,以及SLF4J框架的简单介绍原创 2020-03-03 14:58:47 · 473 阅读 · 0 评论