其他日志框架统一转换为 slf4j|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习其他日志框架统一转换为 slf4j

开发者学堂课程【SpringBoot快速掌握 - 核心技术其他日志框架统一转换为 slf4j】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/612/detail/9235


其他日志框架统一转换为 slf4j


一,遗留问题

a ( slf4j+logback ):Spring ( commons-logging )、Hibernate ( jboss-logging )、MyBatis、xxxx统一日志记录,即使是别的框架和我一起统一使用 slf4j 进行输出?

image.png

其 中 spring 框架中的底层使用的便是 Spring ( commons-logging ),而 Hibernate的底层使用的是( jboss-logging )

以前我们使用的是 application 应用层到slf4j-api.jar抽象层,而真正实现的是logback。这个应用程序可能使用其他的框架,而每一个框架又都有不同的日志,比如有的使用的是 Commons logging API,有的使用的 log4j-api.jar,又或者是java.util.loggingAPI。替换的意思就是用户需要将 Commons logging API 排除掉。假设我们的 spring 框架正在使用 Commons logging API时,会报错,找不到Commons logging API,因为 spring 在底层就使用了 Commons logging API 这个配置,而用户却没有导入这些 jar 包。此时的解决方案就是使用一个新的jar包使用的新包需要具备 Commons logging API 的功能,因为之前已经排除掉了Commons logging API,但是 spring 框架也还是有 Commons 的,新的包的实现过程是先被调用到 slf4j 然后再被 logback 调用在控制台打印。这就好比中间存在了一个包装层。在此,我们使用的  Commons logging API,log4j-api.jar,java.util.loggingAPI 就是我们的包装层。

实例,当用户想要使用 log4j 与 slf4j 的组合,日志接口选择了 slf4j,实现选择log4j。曾经的老套路可能就只适用于单线使用。问题是如果用户还要加入其他的日志,如 Commons logging API 和 java.util.loggingAPI。同样的,如果用户想要使用 slf4 j和 slf4j-jdk ,单线使用时和之前的使用方法大同小异,但如果用户想要在这中间加入 Commons logging API 或者是 log4j-api.jar 框架的话,此时只需要将功能相同的 jar 包替换掉就可以了。

如何让系统中所有的日志都统一到 slf4j;

1, 将系统中其他日志框架排除出去;

2, 用中间包来替换原有的日志框架;

3, 我们导入 slf4j 其他的实现

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
12天前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
87 3
|
18天前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
37 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
1月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
35 2
|
12天前
|
SQL XML 监控
SpringBoot框架日志详解
本文详细介绍了日志系统的重要性及其在不同环境下的配置方法。日志用于记录系统运行时的问题,确保服务的可靠性。文章解释了各种日志级别(如 info、warn、error 等)的作用,并介绍了常用的日志框架如 SLF4J 和 Logback。此外,还说明了如何在 SpringBoot 中配置日志输出路径及日志级别,包括控制台输出与文件输出的具体设置方法。通过这些配置,开发者能够更好地管理和调试应用程序。
|
1月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
1月前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
160 1
|
2月前
|
存储 监控 Java
Java日志通关(三) - Slf4j 介绍
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第三篇。
|
2月前
|
JavaScript Java API
Java日志通关(二) - Slf4j+Logback 整合及排包
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第二篇。
|
2月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
2月前
|
Java 数据库连接 数据库
后端框架的学习----mybatis框架(6、日志)
这篇文章介绍了如何在MyBatis框架中使用日志功能,包括配置MyBatis的日志实现、使用log4j作为日志工具,以及如何通过配置文件控制日志级别和输出格式。