SpringBoot:底层是Spring框架,Spring框架默认的是Commons Logging
SpringBoot选用SLF4j和logback
Slf4j使用原理
1.SLF4j使用:
1.如何在系统中使用SLF4j
以后开发的时候,日志记录方法的调用,不应该来直接调用日志实现类,而是调用日志抽象层的方法
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.info("Hello World"); } }
slf4j是一个日志的抽象层,下面是他的实现类
每一个日志的实现框架都有自己的配置文件,使用slf4j,配置文件还是做成日志实现框架自己本身的配置文件
其他日志框架统一转换为Slf4j
2、遗留问题
多个框架整合比如a(slf4j)、Spring(commons-logging)、Hibernate(jboss-logging)s使用多种不同日志框架,会比较乱,所以要统一日志记录,即让别的框架统一使用slf4j进行输出
如何做:
1.将系统中其他日志框架先排除出去
2.用中间包来替换原有的日志框架
3.我们导入slf4j其他实现
SpringBoot日志关系
在pom.xml文件下右键 Diagrams---》Show Dependencies展示依赖结构图
spring-boot-start依赖于spring-boot-logging
spring-boot-start
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>
spring-boot-starter-logging
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
总结:
1)、SpringBoot底层也是slf4j-logback的方式进行日志的记录
2)、SpringBoot也把其他的日志都替换成了slf4j
3)、中间的替换包
SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉
日志的使用
原文:https://www.cnblogs.com/ghwq/p/12885211.html