Slf4j使用原理|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习Slf4j使用原理

开发者学堂课程【SpringBoot快速掌握 - 核心技术:Slf4j使用原理 】学习笔记,与课程紧密联系,让用户快速学习知识。

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


Slf4j使用原理

一, 如何在系统中使用 SLF4j

1、如何在系统中使用 SLF4j

以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法;给系统里面导入 slf4j 的 jar 和 logback 的实现 jars

//日志记录

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class Helloworld {

public static void main(String[ ] args){

Logger = LoggerFactory.getLogger(Helloworld.class ) ;logger.info("Hello world");

}

}

图示;

image.png

//如果说用户在 application 应用中只导入了 slf4j 的 jar 包,slf4j 是日志的一个抽象层,假设系统中只导入了 slf4j 的包,最后便会输出到一个空的位置。用户的应用程序面向 slf4j 编程,用户调用它的方法进行日志记录,同时也导入了 logback (日志的实现)的 jar 包,在这里用户虽然调用的是 api 这个接口,可最后真正将文件在控制台进行打印的却是 logback 。使用流程是先导入 slf4j  的 jar 包,再导入 logback 的 jar 包即可。场景二,如果 slf4j 要绑定 log4j ;首先在 log4j 设计之初,就没有考虑到会出现 slf4j ,因此,按照流程,我们的应用程序还是应该直接调用抽象层,这时如果想要实现 log4j 与 slf4j 之间的对接就需要一个适配层,导入适配层之后就可以使用 log4j 了。同理可得,当用户想要调用 JVM rutime ,也需要在抽象层和 JVM rutime 之间导入一个适配层的 jar 包。Slf4j 默认的配置有,当用户想要实现 slf4j-simple.jar 的功能时,只需要将 slf4j-simple.jar 包导入即可使用。又或者是导入 slf4j-nop.jar 直接使用对应的功能即可。其中,深蓝颜色的都是实现的,墨绿颜色的都是我们中间的适配层

每一个日志的实现框架都有自己的配置文件。使用 slf4j 以后,配置文件还是做成日志实现框架自己本身的配置文件;

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
设计模式 Java 程序员
日志框架Slf4j作用及其实现原理
日志框架Slf4j作用及其实现原理
142 0
|
安全 IDE Java
MapStruct - 原理讲解
MapStruct - 原理讲解
1267 2
MapStruct - 原理讲解
|
4月前
|
存储 监控 Java
Java日志通关(三) - Slf4j 介绍
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第三篇。
|
5月前
|
运维 Java Apache
Java中的日志框架:Log4j与SLF4J详解
Java中的日志框架:Log4j与SLF4J详解
最通俗易懂的 JAVA slf4j,log4j,log4j2,logback 关系与区别以及完整集成案例
最通俗易懂的 JAVA slf4j,log4j,log4j2,logback 关系与区别以及完整集成案例
最通俗易懂的 JAVA slf4j,log4j,log4j2,logback 关系与区别以及完整集成案例
|
7月前
|
消息中间件 Java API
【JavaEE进阶】 关于⽇志框架(SLF4J)
【JavaEE进阶】 关于⽇志框架(SLF4J)
|
设计模式 安全 Java
深度剖析slf4j源码
深度剖析slf4j源码
118 0
|
XML Java 编译器
Lombok 天天用,却不知道它的原理是什么?
Lombok 天天用,却不知道它的原理是什么?
96 1
|
Java 数据处理 API
java日志框架详解-slf4j
java日志框架详解-slf4j
165 0