Spring Boot整合日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 市面上常见的日志框架有很多,它们可以被分为两类日志门面(日志抽象层)和日志实现通常情况下,日志由一个日志门面与一个日志实现组合搭建而成,SpringBoot选用SLF4J+Logback的组合来搭建日志系统。SLF4J是目前市面上最流行的日志门面,使用Slf4j可以很灵活的使用占位符进行参数占位,简化代码,拥有更好的可读性。Lombok简化了实体类中大量的getter/setter、toString、hashCode、equals等方法在运行过程中,Lombok自动生成相应方法。......

1.日志框架概述

  • 市面上常见的日志框架有很多,它们可以被分为两类:日志门面(日志抽象层)和日志实现
  • 通常情况下,日志由一个日志门面与一个日志实现组合搭建而成,Spring Boot 选用 SLF4J + Logback 的组合来搭建日志系统。
  • SLF4J 是目前市面上最流行的日志门面,使用 Slf4j 可以很灵活的使用占位符进行参数占位,简化代码,拥有更好的可读性。
  • Logback 是 Slf4j 的原生实现框架,它与 Log4j 出自一个人之手,但拥有比 log4j 更多的优点、特性和更做强的性能,现在基本都用来代替 log4j 成为主流。
  • 在这里插入图片描述

2.slf4j(Spring Boot底层默认整合slf4j)

1️⃣slf4j(Simple Logging Facade for java)中文意思是简单日志门面,是获取日志的标标准接口。
2️⃣slf4j的官网地址:https://www.slf4j.org/
3️⃣slf4j的日志级别分为:trace<debug<info<warn<error, 默认级别是info
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.日志全局配置

3.1配置日志级别(默认是info)

在这里插入图片描述
在这里插入图片描述

3.2配置日志的输出格式

在这里插入图片描述

在这里插入图片描述

3.3配置日志文件的输出位置

在这里插入图片描述
我们可以看到在D盘确实可以找到对应的日志文件的输出位置,而且日志信息是追加的在这里插入图片描述

4.logback配置文件(Spring Boot日志的实现层默认使用logback)

这里简单了解一下就可以
除了全局配置文件配置日志以外,我们也可以单独配置日志文件,比如logback的配置如下:

4.1全局配置文件中,设置logback配置文件路径

# 激活开发环境
spring.profiles.active=dev
# 设置日志配置文件位置
logging.config=classpath:logback-config.xml

4.2logback配置

logback的使用

5.整合Lombok

## 5.1概述

  • Lombok简化了实体类中大量的getter/setter、toString、hashCode、equals等方法
  • 在运行过程中,Lombok自动生成相应方法
  • Lombok通过注解的方法,注入了日志对象log
  • 官网地址:https://www.projectlombok.org/

## 5.2插件安装
在这里插入图片描述

5.3Lombok的使用

在创建Spring Boot项目的时候,勾选Lombok
在这里插入图片描述
然后构建项目的时候,会自动在pom.xml中添加lombok依赖
在这里插入图片描述
在这里插入图片描述
如果我们相要使用有参构造的话,这个时候是不可以的,因为没有提供对应的有参构造方法,为了解决这个情况,我们可以使用注解

@Data
@AllArgsConstructor  //帮我们生成有参构造
@Component
public class Book {
    private String name;
    private Double price;
}

但是,我们也可以发现,使用@AllArgsConstructor提供了有参构造后,无参构造就不会创建,但是有时候我们是需要使用无参构造,比如说实体类在spring容器中的自动注入就必须提供无参构造
@NoArgsConstructor可以提供无参构造
@AllArgsConstructor可以提供有参构造
在这里插入图片描述
在这里插入图片描述

相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
相关文章
|
7天前
|
Java Spring
在Spring Boot中使用AOP实现日志切面
在Spring Boot中使用AOP实现日志切面
|
7天前
|
开发框架 运维 监控
解决Spring Boot中的日志管理挑战
解决Spring Boot中的日志管理挑战
|
7天前
|
Java Spring
在Spring Boot中使用AOP实现日志切面
在Spring Boot中使用AOP实现日志切面
|
7天前
|
监控 Java Spring
在Spring Boot中使用AOP实现日志记录
在Spring Boot中使用AOP实现日志记录
|
7天前
|
存储 运维 监控
在Spring Boot中集成分布式日志收集方案
在Spring Boot中集成分布式日志收集方案
|
18天前
|
存储 关系型数据库 MySQL
|
3天前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
4 1
|
11天前
|
Java 测试技术 Apache
《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
27 4
|
12天前
|
运维 Java Apache
Java中的日志框架:Log4j与SLF4J详解
Java中的日志框架:Log4j与SLF4J详解
|
18天前
|
SQL 运维 关系型数据库