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 的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
6月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1371 1
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
629 0
|
6月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
547 0
|
6月前
|
Java API 开发者
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——slf4j 介绍
在软件开发中,`System.out.println()`常被用于打印信息,但大量使用会增加资源消耗。实际项目推荐使用slf4j结合logback输出日志,效率更高。Slf4j(Simple Logging Facade for Java)是一个日志门面,允许开发者通过统一方式记录日志,无需关心具体日志系统。它支持灵活切换日志实现(如log4j或logback),且具备简洁占位符和日志级别判断等优势。阿里巴巴《Java开发手册》强制要求使用slf4j,以保证日志处理方式的统一性和维护性。使用时只需通过`LoggerFactory`创建日志实例即可。
412 0
|
10月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
299 5
|
8月前
|
开发框架 运维 监控
Spring Boot中的日志框架选择
在Spring Boot开发中,日志管理至关重要。常见的日志框架有Logback、Log4j2、Java Util Logging和Slf4j。选择合适的日志框架需考虑性能、灵活性、社区支持及集成配置。本文以Logback为例,演示了如何记录不同级别的日志消息,并强调合理配置日志框架对提升系统可靠性和开发效率的重要性。
227 5
|
8月前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
512 8
|
10月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
239 1
|
Java .NET 开发框架
第八篇:SpringBoot 2.x日志配置
在应用中如何使用日志一直以来都是一个问题,前些年流行用AOP的方式在主要方式上切进去,最近几天又看到一篇博文证明了使用这个方式是很不科学的,所以自己记录一篇关于日志的理解吧。
1384 0
|
Java 应用服务中间件 Maven
传统maven项目和现在spring boot项目的区别
Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别
649 0
传统maven项目和现在spring boot项目的区别