Spring Boot日志文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Spring Boot日志文件

🧊1.日志有什么作用


日志可以记录各种信息,包括错误信息、警告信息、调试信息、访问记录等等。一般来说,日志还可以记录时间戳、执行的函数、运行时参数、异常信息、程序执行路径等相关信息,便于开发人员进行问题排查和系统优化。


🧊2.认识日志


日志是指程序或系统在运行过程中所产生的记录信息,通常用于跟踪和调试应用程序、系统故障分析、性能评估和监控等


以上就是Spring Boot的日志内容

默认日志都是info级别的

Spring Boort内置了日志框架

默认情况下日志不是 自定义打印的

但是当程序员想要自定义打印也有办法


🧊3.自定义打印日志


自定义打印日志分为两步

1.得到日志对象

2…使用日志对象的方法打印日志


🥝3.1得到日志对象


要使用LoggerFactory,日志工厂,Logger 对象是属于 org.slf4j 包下的


🥝3.2利用日志对象的方法打印日志

f5132f8eff6948b3925dde3faefaf61a.png


完整代码


package com.example.demo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2023-08-02
 * Time: 16:35
 */
@RestController
public class UserController2 {
    public static Logger logger= LoggerFactory.getLogger(UserController2.class);
    @RequestMapping("/user2")
    public void  sayHi(){
        logger.trace("热");
        logger.debug("烈");
        logger.info("的");
        logger.warn("不");
        logger.error("是");
    }
}


运行结果

看到了由info及info以后的日志,因为项目默认级别就是按照info开始打印的

那么开发人员可以设定从哪个日志开始打印(在application.test-properties文件下设置,因为我们用的端口就是测试环境下的端口号)

ef48b68ba57d47e5ae950ad99e4b8eaa.png


也可以指定某个文件的日志打印级别


🥝3.3日志格式说明



🧊4.日志级别

🥝4.1 认识日志级别


日志级别由低到高:

trace

debug

info

warn

error

fatal


🥝4.2日志级别作用


日志级别是指日志的重要性或严重程度。日志级别的作用是帮助开发人员或运维人员快速定位和解决问题,以便更好地维护和管理应用程序或系统。不同的日志级别表示不同的日志信息


1691222109882.png

🧊5. 日志持久化


当项目在运行的时候我们可以发现日志存在,但是当项目关闭,日志就没有了,所以我们要保存日志以文件的形式保存在文件中,有两个做法

1.设置日志的保存路径(还是写在application-test.properties中)

ee05978f27d8493b9d7205d4ee438957.png

运行

上面显示大小为0kb,真的是这样吗?,我们打开看看

可以看到上面显示了项目中的日志

多次运行项目观察

可以看到日志的保存不是覆盖保存的, 每一次的运行都会被记录下


2.设置文件保存名

这样写会在项目下生成一个日志文件

我们也可以加上存储路径


🧊6.更简单的日志输出-Lombok


每次都使⽤ LoggerFactory.getLogger 很麻烦,这⾥讲⼀

种更好⽤的⽇志输出⽅式,使⽤ lombok 来更简单的输出


🥝6.1 添加lombok依赖


idea应用商店搜素lombok下载

然后添加lombok依赖



🥝6.2 使用Lombok输出日志


package com.example.demo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2023-08-02
 * Time: 17:44
 */
@RestController
@Slf4j//有了这个注解,就可以直接log对象了
public class UserController3 {
    @RequestMapping("/user3")
    public void say(){
        log.info("happy");
    }
}


lombok可以提供@Getter,@Setter,@Tostring注解,不用再自己写getter,setter,tostring方法了,还有一个注解是这三个的组合注解,@Data


🥝6.3解释lombok运行原理


说到lombok的运行原理,我们就要说到Java代码的编译和运行了

写好的代码经过编译变成了.class文件,然后到jvm加载运行

4212e37be86847359218c5c1d10c0a43.png

有了lombok,就变成


在代码编译期间把lombok注解变成相应的代码,不影响最后的运行


好了,今天的讲解就到这里,我们下期再见,886!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
XML 前端开发 Java
基于SpringBoot 3.3实现任意文件在线预览功能的技术分享
【8月更文挑战第30天】在当今的数字化办公环境中,文件在线预览已成为提升工作效率、优化用户体验的重要功能之一。无论是文档、图片、PDF还是代码文件,用户都期望能够直接在浏览器中快速查看而无需下载。本文将围绕如何在Spring Boot 3.3框架下实现这一功能,分享一系列技术干货,助力开发者高效构建文件预览服务。
145 2
|
2天前
|
存储 前端开发 Java
Spring Boot 集成 MinIO 与 KKFile 实现文件预览功能
本文详细介绍如何在Spring Boot项目中集成MinIO对象存储系统与KKFileView文件预览工具,实现文件上传及在线预览功能。首先搭建MinIO服务器,并在Spring Boot中配置MinIO SDK进行文件管理;接着通过KKFileView提供文件预览服务,最终实现文档管理系统的高效文件处理能力。
|
4天前
|
Java
SpringBoot获取文件将要上传的IP地址
SpringBoot获取文件将要上传的IP地址
19 6
|
13天前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
23天前
|
消息中间件 存储 监控
Kafka的logs目录下的文件都是什么日志?
Kafka的logs目录下的文件都是什么日志?
36 11
|
23天前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
100 1
|
6天前
|
Python
Python如何将日志输入到文件里
Python如何将日志输入到文件里
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
2月前
|
人工智能 Java Spring
Spring框架下,如何让你的日志管理像‘AI’一样智能,提升开发效率的秘密武器!
【8月更文挑战第31天】日志管理在软件开发中至关重要,不仅能帮助开发者追踪问题和调试程序,还是系统监控和运维的重要工具。在Spring框架下,通过合理配置Logback等日志框架,可大幅提升日志管理效率。本文将介绍如何引入日志框架、配置日志级别、在代码中使用Logger,以及利用ELK等工具进行日志聚合和分析,帮助你构建高效、可靠的日志管理系统,为开发和运维提供支持。
36 0
|
2月前
|
监控 Java Serverless
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
下一篇
无影云桌面