从源码来理解slf4j的绑定,以及logback对配置文件的加载(代码片段)

silyvin silyvin     2023-03-09     721

关键词:

https://www.cnblogs.com/youzhibing/p/6849843.html

 

编译期间,完成slf4j的绑定已经logback配置文件的加载。slf4j会在classpath中寻找org/slf4j/impl/StaticLoggerBinder.class(会在具体的日志框架如log4j、logback等中存在),找到并完成绑定;同时,logback也会在classpath中寻找配置文件,先找logback.configurationFile、没有则找logback.groovy,若logback.groovy也没有,则找logback-test.xml,若logback-test.xml还是没有,则找logback.xml,若连logback.xml也没有,那么说明没有配置logback的配置文件,那么logback则会启用默认的配置(日志信息只会打印在控制台)。

  slf4j只能绑定某一个特定的日志框架,若没有绑定,则会有如下警告,说明没有找到合适的日志框架

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

  若找到多个日志框架,slf4j会发出警告,并在运行时抛出NoClassDefFoundError异常

[slf4j+log]源码解析(代码片段)

...列的日志接口,使用户可以使用统一的接口来记录日志。logback,log4j等框架都实现了这些接口,启动时动态地决定真正的日志框架。本文以slf4j+logback的源码来讲解整个绑定和打印日志的流程。手动阅读目录如下:绑定日志框架解... 查看详情

java日志框架slf4j和log4j以及logback的联系和区别

1.SLF4J(SimpleloggingFacadeforJava)意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的... 查看详情

使用slf4j和logback(一:基本使用)

 1.SLF4J是什么?slf4j是一个日志门面,它不是具体的日志实现框架,而是提供了通用的日志接口,按个人理解来说,是通过接口实现多态,来满足应用在不同日志框架间切换的需求。例如在程序中我们需要记录日志,使用SLF4J... 查看详情

logback最佳实践

参考技术ALogback是由log4j创始人设计的一个开源日志组件。LogBack被分为3个组件,logback-core,logback-classic和logback-access。Logback是要与SLF4J结合起来。这两个组件的官方网站如下:logback官方网站:logback官方网站SLF4J官方网站:SLF4J官方... 查看详情

maven类路径错误多个slf4j绑定(代码片段)

...绑定。SLF4J:在[jar:file:/C:/Users/147188/.m2/repository/ch/qos/logback/logback-class 查看详情

java日志框架slf4j和log4j以及logback的联系和区别

...体的日志系统来实现,这些具体的日志系统就有log4j,logback,java.util.logging等,它们才实现了具体的日志系统的功能。如何使用SLF4J?既然SLF4J只是一个接口,那么实际使用时必须要结合具体的日志系统来使用,我们首... 查看详情

java日志框架slf4j和log4j以及logback的联系和区别

...体的日志系统来实现,这些具体的日志系统就有log4j,logback,java.util.logging等,它们才实现了具体的日志系统的功能。如何使用SLF4J?既然SLF4J只是一个接口,那么实际使用时必须要结合具体的日志系统来使用,我们首... 查看详情

slf4j和logback(代码片段)

问题:由于项目需要,今天弄了很久,SLF4J和Logback 一、SLF4J和Logback和CommonsLogging和Log4j的区别以及在普通的java项目中使用:SLF4J和CommonsLogging类似,充当日志API,Logback和Log4j类似,充当其实现类,为什么有了CommonsLogging和Log4j,又... 查看详情

在 SLF4J/Logback 中使用标记的最佳实践

】在SLF4J/Logback中使用标记的最佳实践【英文标题】:BestpracticesforusingMarkersinSLF4J/Logback【发布时间】:2011-05-0902:39:14【问题描述】:我们在项目中使用SLF4J+Logback组合已有一段时间了,对此非常满意,但我们的日志记录策略相当简... 查看详情

SLF4J:类路径包含多个 SLF4J 绑定 slf4j-test vs logback-classic

】SLF4J:类路径包含多个SLF4J绑定slf4j-testvslogback-classic【英文标题】:SLF4J:ClasspathcontainsmultipleSLF4Jbindingsslf4j-testvslogback-classic【发布时间】:2018-12-1210:56:11【问题描述】:我知道你们都会说什么,这是一个重复的问题,等等……但... 查看详情

java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)

...需要知道的几件事如果对于commons-loging 、log4j 、slf4j 、LogBack 等都已经非常清楚了,可以忽略本文。几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当然如果对这... 查看详情

logback介绍和配置详解(代码片段)

logback是java的日志开源组件,是log4j创始人写的,性能比log4j要好,目前主要分为3个模块logback-core:核心代码模块logback-classic:log4j的一个改良版本,同时实现了slf4j的接口,这样你如果之后要切换其他日志组件也是一件很容易的事lo... 查看详情

如何配置slf4j不同的日志实现

...观模式的JavaAPI,帮助在项目部署时对接各种日志实现。LogBack在运行时使用JMX帮助修改日志配置,在生产状态下无需重启应用程序。SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback、Log4j、Commons-logging和JDK自带的lo... 查看详情

java#在项目中使用slf4j+logback来记录日志

1.简介1.1SLF4J概述SLF4J代表SimpleLoggingFacadeforJava。相当于一个门面,提供了Java中所有日志框架的简单抽象。使用SLF4J框架,可以在部署时,迁移到所需的日志记录框架(如Log4j,JUL,Simplelogging,NOP等)SLF4J... 查看详情

捕获异常之使用slf4j和logback(代码片段)

...,搭配使用非常便于开发。有的童鞋可能还听说过SLF4J和Logback。这两个东东看上去也像日志,它们又是啥?其实SLF4J类似于CommonsLogging,也是一个日志接口,而Logback类似于Log4j,是一个日志的实现。为什么有了CommonsLogging和Log4j,... 查看详情

java#在项目中使用slf4j+logback来记录日志(代码片段)

...ACE有关系统流程的更多详细信息SLF4J和Log4j的关系:1.2Logback概述Logback分为三个不同的模块,logback-core(核心代码模块),logback-classic(log4j的一个改良版本,同时实现了slf4j的接口,这样如果之后要... 查看详情

源码详解系列------全面讲解logback的使用和源码(代码片段)

什么是logbacklogback用于日志记录,可以将日志输出到控制台、文件、数据库和邮件等,相比其它所有的日志系统,logback更快并且更小,包含了许多独特并且有用的特性。logback被分成三个不同的模块:logback-core,logback-classic,logba... 查看详情

java日志框架slf4j和log4j以及logback的联系和区别

1.SLF4J(SimpleloggingFacadeforJava)意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,... 查看详情