为什么企业网站不是开源系统,青岛个人建站模板,企业网查询官网在线登录入口,中文网站模板免费下载本文主要介绍
1.日志框架基本介绍及Spring Boot中默认使用框架(SLF4JLogBack);
2.SLF4J的使用
3.项目中日志框架统一问题
4.Spring Boot中如何实现日志框架统一问题(3的最佳实践)
1. 日志框架基本介绍
一般情况下搭建日志框架时#xff0c;搭建 日志抽象层#xff08;定…本文主要介绍
1.日志框架基本介绍及Spring Boot中默认使用框架(SLF4JLogBack);
2.SLF4J的使用
3.项目中日志框架统一问题
4.Spring Boot中如何实现日志框架统一问题(3的最佳实践)
1. 日志框架基本介绍
一般情况下搭建日志框架时搭建 日志抽象层定义接口 日志实现层组合 项目代码中应该使用抽象层不应该使用日志实现类
常见的日志框架包含
日志抽象层 JCL(2014年不再维护), SLF4Jjboss-logging
日志实现层jul(java.util.loggingjdk工具包下提供的)log4j, LogBack(log4j存在性能问题logback是基于SLF4J抽象层编写的实现层), log4j2 Apache下的功能强大但与其他的框架整合并不广泛
(注SLF4Jlog4jlogback为同一个作者)
Spring框架选择了JCL作为默认日志输出Spring Boot选择的是 SLF4J LogBack作为默认日志
2.SLF4J框架的使用
SLF4J日志框架基本使用 抽象层 实现层
1,引入SLF4J的Jar
2,引入实现层log4j, jul等对应的jar
3,引入对应实现层的slf4j适配器jar (适配器jar由SLF4J提供的编写了SLF4J接口类的实现不同适配器实现接口时调用的是对应的实现层框架的方法实现层为Logback时不需要适配器jar因为logback就是基于SLF4J抽象层编写); 3. 项目中日志框架统一问题
当项目中引入多个第三方jar而每个jar底层使用的日志选型不一样造成项目中日志框架混乱【Springcommons logging、Hibernatejboss-logging】
SLF4J提供的解决方案引用第三方jar时exclude对应的底层日志A.jar引入由SLF4J提供的日志转换器 B.jar当前适配器B.jar 定义了A.jar中一摸一样的类和方法方法中通过调用SLF4J的API实现 具体步骤 排除系统中其他的日志框架 使用SLF4J提供的转换器包替换要替换的日志框架 引入要使用的SLF4J实现JAR
4.Spring Boot中如何实现日志框架统一问题(B的最佳实践)
Spring Boot 中使用的默认的日志框架为 SLF4J LogBack
在spring-boot-dependencies中exclusion其他日志框架(3中1步骤) Spring Boot中spring-boot-starters 依赖了 spring-boot-starter-logging而在spring-boot-starter-logging中 定一个了log4j及jul对应的转换包jar 及 logback对应的jar 3中的2 3