【Spring Boot】了解Spring Boot 的日志文件

这篇具有很好参考价值的文章主要介绍了【Spring Boot】了解Spring Boot 的日志文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、日志的作用

二、日志文件的简单使用 

1、Spring Boot中的默认日志

2、自定义日志打印

三、日志级别

1、日志级别分类

 2、日志级别的设置

3、日志持久化

四、基于LomBok的日志输出

1、安装Lombok插件

2、使用Lombok添加日志(@slf4j)

3、使用Lombok添加getter和setter方法(@Data)

 4、LomBok的工作原理


一、日志的作用

日志是我们程序中极其重要的一部分,程序在执行期间报错,我们需要通过日志来排查错误,如果没有日志,我们只能靠猜来找程序中的错误,显然这是非常荒唐的做法。通过日志来排错只是它的一种用途,还可以使用日志来实现下面的用途

  • 记录用户登录日志,方便分析用户是正常登录还是恶意破解用户
  • 记录系统的操作日志,方便数据恢复和定位操作人
  • 记录程序执行时间,放便为以后优化程序提供数据支持。

二、日志文件的简单使用 

1、Spring Boot中的默认日志

运行Spring Boot程序,我们可以看见控制台上就输出了默认日志

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

 通过这里我们可以知道Spring Boot内置了日志框架,从而完成了日志在控制台的打印。这里默认打印的日志并不是开发者自己定义的日志。那么我们自己怎样打印日志呢?

很多老铁想到了使用System.out.println()来打印,但是很遗憾,不能使用它来打印日志,当然使用这个方法,也可以按照上面的格式,打印出一个日志,但是最大的问题就是这种打印日志的方式无法保存日志并且显示不出来日志的级别。

2、自定义日志打印

开发者自定义日志的实现步骤

  • 得到日志对象
  • 使用日志对象提供的方法输出想要打印的内容

1️⃣得到程序中的日志对象 

在程序中获取日志对象需要使用日志工厂LoggerFactory。

 //1.得到日志对象
    private static Logger log = LoggerFactory.getLogger(LogController.class);

这里getLogger方法中需要传入当前类,用来说明这个日志属于那个类,有利于我们直观的定位到出现问题的位置。还需要注意的是我们在使用Logger类的时候,会出现很多Logger的提示,我们要选择org.slf4j包下的。

2️⃣使用日志对象打印日志

这里我们将所有日志级别都打印出来

package com.example.demo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class LogController {

    //1.得到日志对象
    private static Logger log =
            LoggerFactory.getLogger(LogController.class);
    @RequestMapping("/log")
    public void log(){
        String msg = "小张学编程";
        log.trace("trace ->" +msg);
        log.debug("debug ->"+msg);
        log.info("info ->" +msg);
        log.warn("warn ->"+msg);
        log.error("error ->"+msg);
    }
}

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

我们代码中写了5种级别的日志,但是只打印了3种 ,这是由于Spring Boot默认情况下日志的级别为info,比info级别低的日志不会被打印出来。具体是什么情况,下面的内容中会说到。


三、日志级别

1、日志级别分类

日志级别的做用是设置不同级别的日志来查看不同程度的问题信息,方便定位排查问题。比如我们将默认的日志级别改为warn,那么就只会出现warn及更高级别日志信息。

日志的级别可以分为六种

  • trace:微量、少许的意思,几倍最低;
  • debug:需要调试时候的关键信息打印
  • info:普通的打印信息(默认的日志级别);
  • warn:警告,不影响使用,但需要注意的问题;
  • error:错误信息,级别较高错误日志信息;
  • fatal:致命的日志级别,只有系统在崩溃时才会输出的日志信息

 这里有6个日志级别实际上,我们可以使用的日志级别只有前5个,fatal只有系统才能使用。这几个日志级别从上到下逐级递增。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

 2、日志级别的设置

1️⃣给当前项目设置默认的日志级别

我们在配置文件中通过logging.level.root=warn来设置.使用这个方式配置的是项目中所有的日志都输出warn级别及之上的日志。

logging.level.root=warn

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

可以看见控制台上的日志打印就非常少了,就只出现了我们自己写的日志了。 将比warn级别低的日志全都过滤掉。

2️⃣给项目中文件夹单独设置日志级别

设置com.example.demo.controller包下的类,debug以及更高级别的日志打印在控制台上。

logging.level.com.example.demo.controller=debug

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

❗❗❗为什么Spring Boot 可以打印日志并设置日志级别?


❓❓❓因为Spring Boot内置了两个日志框架:SLF4J和LogBack。这里设置两个日志框架可以这样理解这两个框架的关系,比如你装修需要找装修公司,首先你需要和客服交流,然后客服根据你的需求找相应的师傅。这里的SLF4J就是客服,LogBack就是干活的师傅,代码底层的实现我们不关注,我们只需要和SLF4J对接。SLF4J是让开发者使用和调用的框架,LogBack是最底层实现日志相关操作的框架(我们看见的控制台上的日志的日志,是由它完成的)。

3、日志持久化

上述我们说到的日志的分类和设置日志的级别,在控制台看起来都是完全可以打印出来的,但是项目中我们的程序是要将这些日志持久保存的,和之前一样只是打印在控制台上是不行,需要我们保存下来,以便处理问题之后追溯问题。

让日志持久化存在两种设置方式。

1️⃣在配置文件中设置日志的保存路径

logging.file.path=D:/hello/

 将日志保存在了d盘的hello目录中。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

 2️⃣设置日志保存的文件名,这样就表示你需要将日志保存下来

logging.file.name=springboot.log

重新启动项目,就可以在项目目录中看见日志文件

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

 这些日志文件中的日志信息是以追加的方式保存在文件中的,由于是追加的方式添加,所以就会出现日志文件放不下的情况,出现这种情况,他会自动的在我们设置的存放日志文件的目录中在创建一个新的文件,将之后的日志信息存放在里面。


四、基于LomBok的日志输出

lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量.

1、安装Lombok插件

无论什么版本的idea都需要安装Lombok。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

先在你的idea中搜索有没有安装Lombok,你安装的有些插件中捆绑了这个插件。如果没有安装,在Marketplace中搜索Lombok,进行安装即可。

在项目中添加lomBok依赖。在pom.xml中单击鼠标右键,找到Generate,点击然后找到Edit Starters点击。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

 【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

2、使用Lombok添加日志(@slf4j)

之前我们想要输出日志需要使用到日志工厂,从其中得到得到日志对象。

    private static Logger log = LoggerFactory.getLogger(LogController.class);

现在使用Lombok中的@slf4j注解,就可以代替这句代码, 更简单的输出日志。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

3、使用Lombok添加getter和setter方法(@Data)

我们之前创建一个实体类的时候,创建的属性如果为private的,还需要在代码中写getter和setter方法,这样就显得代码很臃肿,如果只是一点属性,使用getter和setter方法,都还可以,但是如果属性很多,那么代码的可读性就会降低。现在我们使用Lombok之后,即使属性再多,也不会出现代码臃肿的问题。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

上述我们使用了三个Lombok注解,当然如果你觉得这些注解加起来麻烦,我们还可以使用组合注解@Data,更加简单。一个注解代替前面三个。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

 4、LomBok的工作原理

LomBok是一种Java库,他提供了一些注解来自动生成代码。Lombok是在程序的编译器期通过注解将对应的代码添加到程序中,它并不会影响到程序的性能。他只是在编译期简化了程序员代码的编写,提高了代码的可读性。

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端

 我们通过程序编译的字节码来验证

【Spring Boot】了解Spring Boot 的日志文件,Spring,spring boot,java,后端文章来源地址https://www.toymoban.com/news/detail-638153.html

到了这里,关于【Spring Boot】了解Spring Boot 的日志文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE】Spring Boot - 日志文件

    【JavaEE】Spring Boot 开发要点总结(3) 写代码不是概率事件,bug的出现必然是有原因的,而日志的主要作用就是,排查和定位问题! 而日志的生成就是随着程序的进行和一步步生成的,不说全部过程都记录得清清楚楚,至少重要的点和环节或者一些异常情况都有记录 而通过日

    2024年02月14日
    浏览(51)
  • Spring Boot配置保存日志文件

    springboot日志配置: springboot默认日志是打印再console中的,不会保存在文件中。我们项目上线肯定要保存日志用于分析的。 一、使用xml配置日志保存(并不需要pom配置slf4j依赖,starter里面已经配置了依赖了) 1、在项目的resources目录下创建一个【logback-spring.xml】日志配置文件

    2024年02月11日
    浏览(45)
  • Spring Boot 配置文件和日志

    目录 配置文件格式 properties配置文件说明 1.properties基本语法 2.读取配置文件 3.properties缺点 yml配置文件说明 1.yml基本语法 2.配置不同数据类型 3.字符串特殊情况 4.配置对象 properties和yml对比 日志 日志的使用 日志级别 日志持久化 Lombok Lombok原理解释 Spring中配置文件有很重要的

    2024年01月19日
    浏览(59)
  • Spring Boot配置文件及日志信息

    目录 前言: Spring Boot优点 配置文件 配置文件格式 读取配置文件 properties配置文件格式 properties优缺点分析 yml配置文件格式(另一种标记语言) yml优缺点分析 Spring Boot 不同平台配置文件规则 日志信息 日志的功能 Spring Boot内置日志框架 使用日志 得到日志对象 打印日志 日志

    2024年02月01日
    浏览(63)
  • 【Spring Boot学习】日志文件,Spring Boot也会写日记了,这些事你知道嘛 ? ? ?

    前言: 大家好,我是 良辰丫 ,在上一篇文章中我们已经学习了Spring Boot的配置,接下来我们要学习一些日志相关的东西,什么是日志呢?我们慢慢往下看.💌💌💌 🧑个人主页:良辰针不戳 📖所属专栏:javaEE进阶篇之框架学习 🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些

    2024年02月08日
    浏览(47)
  • 微信小程序的授权登录-Java 后端 (Spring boot)

    微信开发文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 一个可以测试的微信小程序 此微信小程序的APPID和APPscret(至开发者后台获取) 从时序图我们可以了解到流程大致分为两步: 小程序端获取code后传给Java后台 Java后台获取code后向微信后台接口

    2024年02月09日
    浏览(55)
  • Java实战:Spring Boot实现AOP记录操作日志

    本文将详细介绍如何在Spring Boot应用程序中使用Aspect Oriented Programming(AOP)来实现记录操作日志的功能。我们将探讨Spring Boot集成AOP的基本概念,以及如何使用Spring Boot实现AOP记录操作日志。最后,我们将通过一个具体示例来演示整个实现过程。本文适合已经具备Spring Boot基础

    2024年02月22日
    浏览(58)
  • “从零开始学习Spring Boot:快速搭建Java后端开发环境“

    标题:从零开始学习Spring Boot:快速搭建Java后端开发环境 摘要:本文将介绍如何从零开始学习Spring Boot,并详细讲解如何快速搭建Java后端开发环境。通过本文的指导,您将能够快速搭建一个基于Spring Boot的Java后端开发环境并开始编写代码。 正文: 一、准备工作 在开始之前,

    2024年02月15日
    浏览(58)
  • “深入了解Spring Boot:构建高效、可扩展的Java应用程序“

    标题:深入了解Spring Boot:构建高效、可扩展的Java应用程序 摘要:Spring Boot是一款快速构建Java应用程序的开发框架,它基于Spring框架,提供了一系列的自动化配置和约定,使得开发者能够更快速、更高效地构建出高质量的应用程序。本文将深入探讨Spring Boot的核心特性和使用

    2024年02月14日
    浏览(57)
  • 后端使用Spring Boot生成Excel文件,前端使用微信小程序上送数据并下载Excel文件

    后端:Spring Boot生成Excel文件添加依赖 在 pom.xml 中添加Apache POI的依赖: 创建一个用于生成Excel文件的方法         4.创建一个用于处理Excel文件的Controller 前端:微信小程序上送数据并下载Excel文件 在 app.json 中添加一个用于下载Excel文件的页面: 在 pages/download 目录下创建

    2024年04月11日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包