logback-classic是log4j的一个 改良版本。 此外logback-classic完整实现SLF4J API,使你可以很方便地更换成其它日志系统,如log4j或JDK14 Logging。 配置 配置pom.xml logback需要logback-core、logback-classic、slf4j-api、logback-access这4个依赖。 其中logback-classic已经包含了logback-core和slf4j-api依赖,由于Maven依赖的传递性,所以我们只需导入logback-classic和logback-access依赖即可 <dependencies> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic
dependencies部分,添加以下代码:xmlCopy code<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic 检查构建工具配置文件,并将以下内容添加到适当的位置: Gradle:groovyCopy codedependencies { implementation 'ch.qos.logback:logback-classic :1.2.3'}Ant:xmlCopy code<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic logback-classic:这是logback的经典模块,是SLF4J的实现之一。它直接扩展了log4j框架,并提供了更好的性能和更强大的功能。 使用logback-classic时,你需要将logback.xml或logback.groovy文件放在类路径下,以配置日志记录器和输出目标。
它当前分为下面几个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如 Logback-classic非常自然实现了SLF4j:Logback-classic实现了SLF4j。在使用SLF4j中,你都感觉不到logback-classic。 而且因为logback-classic非常自然地实现了slf4j , 所 以切换到log4j或者其他,非常容易,只需要提供成另一个jar包就OK,根本不需要去动那些通过SLF4JAPI实现的代码。 自动重新加载配置文件,当配置文件修改了,Logback-classic能自动重新加载配置文件。扫描过程快且安全,它并不需要另外创建一个扫描线程。这个技术充分保证了应用程序能跑得很欢在JEE环境里面。 /dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic
Layout: 用于 设置日志显示格式Log4j 的 5种日志级别: DEBUG, INFO, WARN, ERROR, FATALLogBackLogBack 组成部分: logback-core,logback-classic ,logback-accesslogback-core: LogBack 基础设施和通用机制logback-classic: LogBack 中的 Log4j 和 Slf4jlogback-access
--logback-classic依赖logback-core,会自动级联引入--> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> </dependencies
-- 替换为您想要使用的版本 --></dependency>2、logback-classic:logback-classic是logback框架的经典实现,它扩展了logback-core,并提供了对 logback-classic还提供了更多的功能,如上下文(Context)管理、日志配置文件解析、配置自动重新加载等。 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId>
-- 替换为您想要使用的版本 --></dependency>2、logback-classic:logback-classic是logback框架的经典实现,它扩展了logback-core,并提供了对 logback-classic还提供了更多的功能,如上下文(Context)管理、日志配置文件解析、配置自动重新加载等。 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.6
logback当前分成三个模块:logback-core,logback-classic和logback-access。 logback-core是其它两个模块的基础模块。 logback-classic是log4j的一个改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。 3、Logback-classic非常自然实现了SLF4j Logback-classic实现了 SLF4j。在使用SLF4j中,你都感觉不到logback-classic。 而且因为logback-classic非常自然地实现了SLF4J, 所 以切换到log4j或者其他,非常容易,只需要提供成另一个jar包就OK,根本不需要去动那些通过SLF4JAPI实现的代码。 5、自动重新加载配置文件 当配置文件修改了,Logback-classic能自动重新加载配置文件。扫描过程快且安全,它并不需要另外创建一个扫描线程。
-- 添加logback-classic依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>
在项目POM中加入Logback的依赖项:logback-core、logback-classic,以及log4j-over-slf4j(因为Flink依赖于Hadoop,Hadoop却直接使用Log4j version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic > </exclusions> </dependency> 从Flink安装目录的lib目录中删掉log4j与slf4j-log4j12的JAR包,并加入logback-core、logback-classic
具体来说,必须依赖3个组件:slf4j-api,logback-core,logback-classic。 version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic
目前,logback 分为三个模块:logback-core,logback-classic和logback-access。 logback-core:模块为其他两个模块的基础。 logback-classic:模块可以被看做是log4j的改进版本。 此外,logback-classic 本身实现了 SLF4J API,因此可以在 logback 和其他日志框架(如 log4j 或 java.util.logging(JUL))之间来回切换。
} return staticLoggerBinderPathSet; } } 另外:当使用logback作为slf4j的日志实现组件时,不再允许依赖其他日志实现组件,即:logback-classic getLocation(factory))); return (LoggerContext) factory; } 如果使用logback作为slf4j的日志实现组件,则只允许添加slf4j-api和logback-classic version>1.7.36</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic version>1.7.36</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic version>1.7.36</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic
spring-boot-starter-logging、jakarta.annotation-api、spring-core等;其中spring-boot-starter-logging主要引入日志相关的依赖,有logback-classic logback-classic: logback的主要日志依赖 log4j-to-slf4j:将lo4j日志桥接到了slf4j日志框架,spring 框架默认使用的,所以需要该依赖 jul-to-slf4j 大部分人应该都知道slf4j是一种抽象日志框架,要能够输出日志,slf4j还需要绑定到具体的日志框架,比如logback-classic。那为什么会出来slf4j呢。 绑定器:SLF4J绑定具体的日志实现框架,比如logback-classic是logback的绑定器https://slf4j.org/manual.html 桥接器:将以前的日志框架桥接到SLF4J中
org.springframework.boot:spring-boot-starter-logging:2.0.2.RELEASE | | | | +--- ch.qos.logback:logback-classic initialization failure", e); } } 特别要注意的是StaticLoggerBinder.getSingleton();这行代码,StaticLoggerBinder在logback-classic 和slf4j-log4j12这两个jar包各有一个,因此,Spring boot是自动选择logback-classic(虽然我在本地运行的时候还是默认进入的slf4j-log4j12,但是会提醒我Source code does not match the bytecode,因此我判断依旧进的是logback-classic),所以只要把logback给exclude掉,就解决了这个问题。
version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic 注意:core部分并不依赖于slf4j-api部分 logback-classic:实现了Slf4j的API,所以当想配合Slf4j使用时,需要引入logback-classic。 一般情况下都用不到(但有研究价值) ---- 使用示例 在POM文件里,按照上面GAV,导入logback-classic这个Jar(包含slf4j-api和logback-core),这样就简单的直接生效了 findPossibleStaticLoggerBinderPathSet(); ... // 实现真正的绑定 把实现绑定在slf4j // 请注意:该API不在slf4j-api里,而是在logback-classic 仅需导入feign-slf4j模块jar包,以及logback-classic这个jar包,即完成了集成可以正常使用喽: 20:35:10.528 [main] DEBUG feign.Logger -
scalaBinaryVersion}:${flinkVersion}", _// "ch.qos.logback:logback-core:1.2.3",_ _// "ch.qos.logback:logback-classic scalaBinaryVersion}:${flinkVersion}", _// "ch.qos.logback:logback-core:1.2.3",_ _// "ch.qos.logback:logback-classic
快速上手Logback 引入MAVEN依赖 logback主要由三个模块组成,分别是logback-core,logback-classic和logback-access。 其中logback-core是整个Logback的核型模块,logback-classic支持了SLF4J FACADE,而logback-access则集成了Servlet容齐来提供HTTP日志功能, 下面主要是基于logback-classic来进行介绍。 引入logback-classic的包如下: <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic 使用Logback 因为logback-classic实现了SLF4J FACADE,所以上层应用只需要面向SLF4J的调用语法即可。下面代码展示了如何获取到Logger对象用来打印日志。
3、Logback-classic非常自然实现了SLF4j:Logback-classic实现了SLF4j。在使用SLF4j中,你都感觉不到logback-classic。 而且因为logback-classic非常自然地实现了slf4j , 所 以切换到log4j或者其他,非常容易,只需要提供成另一个jar包就OK,根本不需要去动那些通过SLF4JAPI实现的代码。 5、自动重新加载配置文件,当配置文件修改了,Logback-classic能自动重新加载配置文件。扫描过程快且安全,它并不需要另外创建一个扫描线程。 LogBack的结构 LogBack被分为3个组件,logback-core, logback-classic 和 logback-access。 logback-classic则实现了Slf4j的API,所以当想配合Slf4j使用时,需要将logback-classic加入classpath。
-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --> <dependency> <groupId>ch.qos.logback </groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <!