SpringBoot日志关系|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习SpringBoot日志关系

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

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


SpringBoot 日志关系

一、SpringBoot 日志关系

Springboot 怎么做的,首先先创建一个新的项目

Group 名称是 com.atguigu  ,Artifact

名称是 spring-boot-03-logging 。

包名要改成 com.atguigu.springboot 。选择 Web 模块。

pom 文件引入了外部依赖,测试依赖

</parent><properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

</properties><dependencies><dependency><groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency><dependency><groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin></plugins>

</build>

1. 依赖分析

分析下这些依赖的关系是怎么样的,有两种办法:

第一种是在右边点出 Maven Projects 找到 Dependencies 。如果右边没有 Maven Projects 就可以在左下角把他点出来

第二种可以直接在它里面右键 Diagrams, show Dependencies 。

然后 idea 会以图谱的方式展示出整个的依赖关系。

image.png

spring-boot-03-logging 依赖的是 spring-boot-starter-web

这个 web 依赖了

jackson-databind;

spring-boot-starter-tomcat;

hibernate-validator;

spring-boot-starter等。

Spring-boot-starter 是每一个启动器每一个场景都需要依赖的东西。

Spring-boot-starter 里面的几个模块:

Spring-boot-autoconfigure 自动配置;

snakeyaml;

spring-boot-starter-logging。

SpringBoot 适用他来做日志功能

<dependency>

<groupId>org.springframework.book</groupId>

<artifactId>spring-booy-starter-logging</artifactId>

</dependency>

2. 日志用法

这就是 Spring Boot 底层依赖关系:

image.png

总结:

1)SpringBoot 底层也是使用 slf4j+logback 的方式进行日志记录

2)SpringBoot 也把其他的日志都替换成了 slf4j ;

3)中间替换包

@SuppressWarnings(“rawtypes”)

Public abstract class LogFactory{

Static string UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J=”HTTP://WWW.slf4j.org/codes.html#unsuppoeted_operation_in_jcl_over_slf4j";

Static logfactory logfactory=new SLF4JLogFactory();

image.png

4)如果要引入其他框架?一定要把这个框架的默认日志依赖移除掉

Spring 框架用的是 commons-logging ;

<dependency>

<groupId>org.springframework.book</groupId>

<artifactId>spring-booy-starter-logging</artifactId>

<exclusions>

<exclusion>

<groupId>commons-logging</groupId>

<artifactId>commons-logging</artifactId>

</exclusions>

</exclusion>

</dependency>

SpringBoot 能自动适配所有的日志,而且底层使用 slf4j+logback 的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
72 5
|
21天前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
30 1
|
2月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
466 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
1月前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
43 1
|
2月前
|
Java Maven Spring
SpringBoot日志整合
SpringBoot日志整合
27 2
|
2月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
188 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
2月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
247 0
|
2月前
|
SQL XML 监控
SpringBoot框架日志详解
本文详细介绍了日志系统的重要性及其在不同环境下的配置方法。日志用于记录系统运行时的问题,确保服务的可靠性。文章解释了各种日志级别(如 info、warn、error 等)的作用,并介绍了常用的日志框架如 SLF4J 和 Logback。此外,还说明了如何在 SpringBoot 中配置日志输出路径及日志级别,包括控制台输出与文件输出的具体设置方法。通过这些配置,开发者能够更好地管理和调试应用程序。
|
3月前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
279 1
|
Java 数据库连接 API
SpringBoot | SpringBoot 是如何实现日志的?
休息日闲着无聊看了下 SpringBoot 中的日志实现,把我的理解跟大家说下。
SpringBoot | SpringBoot 是如何实现日志的?