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!

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
6月前
|
XML Java Maven
springboot-多环境配置文件
本文介绍了如何创建开发和生产环境的配置文件,并在IDEA和Maven中进行配置。开发环境中,通过设置profile为`dev`来指定配置文件;生产环境中,使用Maven命令参数`-Pprod`打包并指定配置文件。公共配置可放在`application.yml`中统一管理。日志配置需确保`logback-spring.xml`中的profile正确,以保证日志正常输出。
329 4
springboot-多环境配置文件
|
6月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1491 1
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
694 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 格式,因其层次清晰,但需注意格式要求。
591 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`创建日志实例即可。
438 0
|
7月前
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler("/img/**").addResourceLocations("file:E:\\myProject\\forum_server\\")`配置,使前端可通过URL直接访问图片。
403 0
Springboot静态资源映射及文件映射
|
6月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
7月前
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
783 28
|
8月前
|
开发框架 运维 监控
Spring Boot中的日志框架选择
在Spring Boot开发中,日志管理至关重要。常见的日志框架有Logback、Log4j2、Java Util Logging和Slf4j。选择合适的日志框架需考虑性能、灵活性、社区支持及集成配置。本文以Logback为例,演示了如何记录不同级别的日志消息,并强调合理配置日志框架对提升系统可靠性和开发效率的重要性。
252 5
|
9月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
248 9

热门文章

最新文章