Spring Boot 配置文件和日志

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

目录

配置文件格式

properties配置文件说明

1.properties基本语法

2.读取配置文件

3.properties缺点

yml配置文件说明

1.yml基本语法

2.配置不同数据类型

3.字符串特殊情况

4.配置对象

properties和yml对比

日志

日志的使用

日志级别

日志持久化

Lombok

Lombok原理解释


Spring中配置文件有很重要的地位,所有的总要数据都是在配置文件中配置的。

比如数据库的信息、项目使用的端口号、日志等等。

配置文件格式

Spring Boot 配置文件和日志,spring boot

Spring Boot配置文件主要分为以下两种格式:

.properties 和 .yml

  1. 当properties和yml一起存在一个项目中,并且出现了同样的配置,比如serve人.port这个配置,这个时候会以properties中的配置为主,也就是优先级高于.yml。但加载完properties后仍然会加载yml文件。
  2. 实际来说,并不会出现两种配置文件共存的情况,只出现一种配置文件有利于维护。

properties配置文件说明

properties是古老的配置文件,也是创建Spring Boot 项目默认的配置文件。

1.properties基本语法

properties是以键值对的形式来配置的,key和value之间以 = 连接。并且可以使用#来添加注释。

Spring Boot 配置文件和日志,spring boot

2.读取配置文件

在项目中想要主动读取配置文件的内容,可以使用@Value注释来实现。

使用  ${}  的格式读取,并且在Construct后面打印出来Spring Boot 配置文件和日志,spring boot

3.properties缺点

properties是以key-value的形式配置的。

但是这样就会出现很多的冗余信息Spring Boot 配置文件和日志,spring boot

这个时候我们就可以使用yml的配置文件了。

yml配置文件说明

yml是YAML的 缩写,全称是 Yet Another Markup Language 翻译成中文就是“另⼀种标记语言”。

1.yml基本语法

yml是树形结构的配置文件,它的基础语法是  key: value。注意key和value之间使用英文冒号加空格的方式组成的,其中的空格不能省略。

Spring Boot 配置文件和日志,spring boot

2.配置不同数据类型

Spring Boot 配置文件和日志,spring boot

yml配置读取的方式和properties相同,使用@Value注解即可。

3.字符串特殊情况

字符串默认不用加引号,但是加英文的单引号和双引号可以表示特殊的含义。

Spring Boot 配置文件和日志,spring boot

双引号不会转义字符串里面的特殊字符,特殊字符会作为本身想要表达的意思。

4.配置对象

我们还可以在yml中配置对象:Spring Boot 配置文件和日志,spring boot

或者使用行内写法:        Spring Boot 配置文件和日志,spring boot

这个时候就不能使用@Value来读取配置中的对象了,而是要使用ConfigurationProperties来读取:

Spring Boot 配置文件和日志,spring boot

要注意,从配置文件中获取到student对象,需要在相关的类中定义Getter和Setter方法。

properties和yml对比

  1. properties以key=value的方式配置,而yml使用类似于json格式的树形配置方法配置的。
  2. yml可以很好的解决数据冗余的问题
  3. yml通用型非常好,并且支持更多的数据类型

日志

在Spring Boot中,我们需要日志。

  • 记录错误日志和警告日志:比如排查错误、bug
  • 用户日志:可以记录用户登录日志,方便分析用户是正常登录还是恶意访问的用户
  • 系统日志:记录系统的操作日志,方便数据的恢复和定位操作人员
  • 程序执行日志:记录程序的执行时间

Spring Boot 配置文件和日志,spring boot

日志的使用

Spring Boot项目在启动的时候就默认有日志输出:Spring Boot 配置文件和日志,spring boot

在程序中获取日志对象需要使用日志工厂LoggerFactory:Spring Boot 配置文件和日志,spring boot

可以看到我们打印了五个日志,但是只显示出来了三个。这就要提到日志级别了。

日志级别

日志级别可以帮助我们实现不同环境下的日志打印需求,如开发环境我们就需要很详细的信息,而生产环境为了保证性能和安全就需要输入尽量少的日志。

  • trace:微量,少许的意思,级别最低;
  • debug:需要调试时候的关键信息打印;
  • info:普通的打印信息(默认日志级别);
  • warn:警告,不影响使用,但需要注意的问题;
  • error:错误信息,级别较高的错误日志信息;
  • fatal:致命的,因为代码异常导致程序退出执行的事件。

Spring Boot 配置文件和日志,spring boot

Spring Boot默认的级别是info,日志级别比info高的才显示出来。越往上关于日志的消息就收到的越多。Spring Boot 配置文件和日志,spring boot

并且我们可以设置日志级别,以yml配置文件为例:

Spring Boot 配置文件和日志,spring boot

Spring Boot 配置文件和日志,spring boot

此时全局的日志只有error级别的才会显示,所以之前的日志都没显示。自定义在TestController的日志更改为了trace级别,也就是只要比trace级别高的日志就会显示出来。

并且也可以用info来自定义日志内容。

Spring Boot 配置文件和日志,spring boot

日志持久化

以上的内容都是输出在控制台上,生产环境上我们需要将日志保存到本地或者数据库中。

想要将日志持久化保存,只需要在配置文件中指定日志的存储目录或者指定保存名称后,日志就会自动保存。也就是说不配置就不会保存,配置好了就默认保存。Spring Boot 配置文件和日志,spring boot

Spring Boot 配置文件和日志,spring boot

Lombok

之前我们已经简单的介绍了Lombok,这次我们详细的说明一下。

首先是对日志的快捷添加,使用 @Slf4j 注释来快速添加日志工厂的元素。Spring Boot 配置文件和日志,spring boot

使用这一个注解就可以代替之前的LoggerFactory.getLogger这样繁琐的操作了。

但是使用注解时,只能使用log对象才能输出,这是lombok提供的对象名。

Lombok原理解释

之前介绍过JVM,里面详细解释到:用户代码(.java)通过编译成字节码(.class)再通过JVM运行,Lombok直接介入到编码的过程,生成的字节码文件是被修改过的。

Spring Boot 配置文件和日志,spring boot

也就是说,拿到了Lombok修改过的.class文件,和用户自己添加的未经过简化的代码编译后是一致的。

基本注解:

  • @Getter 自动添加 getter 方法
  • @Setter 自动添加 setter 方法
  • @ToString 自动添加 toString 方法
  • @EqualsAndHashCode 自动添加 equals 和 hashCode 方法
  • @NoArgsConstructor 自动添加无参构造方法
  • @AllArgsConstructor 自动添加全属性构造方法,顺序按照属性的定义顺序
  • @NonNull 属性不能为 null
  • @RequiredArgsConstructor 自动添加必需属性的构造方法,final + @NonNull 的 属性为必需

组合注解:

  • @Data  作用为@Getter + @Setter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor + @NoArgsConstructor

日志注解:文章来源地址https://www.toymoban.com/news/detail-804095.html

  • @Slf4j  添加一个名为log的日志

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

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

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

相关文章

  • Spring Boot日志文件

    目录 前言🍭 一、日志的作用🍭 1、日志真实使用案例:🍉 二、日志怎么用🍭 1、自定义日志打印🍉 Ⅰ、在程序中得到日志对象🍓  常见的日志框架说明(了解)🍒 Ⅱ、使用日志对象打印日志 🍓 2、日志的级别🍉 Ⅰ、日志级别有什么用?🍓 Ⅱ、日志级别的分类与使用

    2024年01月18日
    浏览(42)
  • Spring boot日志配置

    Spring Boot 底层默认使用 slf4j 和 logback 的方式记录日志。工程中依赖了 spring-boot-starter-web,它又依赖了 spring-boot-starter-logging,所以不需要再手动添加该依赖。在 Spring Boot 中,application.yml 支持部分 logback 的日志配置,但一些高级配置只能通过独立的 xml 配置文件实现,经过 Sp

    2024年02月07日
    浏览(38)
  • 【Java】Spring Boot 日志文件

    日志是程序的重要组成部分,想象一下,如果程序报错了,不让你打开控制台看日志,那么你能找到报错的原因吗。 日志对于我们来说,最主要的用途就是排除和定位问题。除了发现和定位问题之外,我们还可以通过日志实现以下功能: 记录用户登录日志,方便分析用户是

    2024年02月01日
    浏览(53)
  • 【JavaEE】Spring Boot - 日志文件

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

    2024年02月14日
    浏览(50)
  • 【Spring Boot学习二】日志文件

    目录 🌷1、自定义输出日志 🌷 2、日志级别 2.1 日志级别分类(6种) 2.2 配置日志级别(在.yml文件中设置:) (1)设置日志整体级别 (2)分目录设置日志级别 🌷3、日志怎么持久化 3.1 设置日志文件名和路径(.yml文件下配置)  3.2 对日志分割:每隔多少M分割 🌷4、更简单的

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

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

    2024年02月08日
    浏览(46)
  • 如何在 Spring Boot 中配置日志记录?

    在Spring Boot中配置日志记录是一项关键任务,因为良好的日志记录是应用程序开发和维护的必要组成部分。Spring Boot采用了一种灵活且强大的方式来管理日志,允许开发人员使用不同的日志框架,并提供了易于配置的选项。下面详细介绍在Spring Boot中配置日志记录的过程,包括

    2024年01月25日
    浏览(52)
  • Spring Boot 如何配置日志级别和输出格式

    在开发一个应用程序时,日志记录是非常重要的一环。Spring Boot 提供了多种日志输出方式和配置选项,本文将介绍如何在 Spring Boot 应用程序中配置日志级别和输出格式。 在 Spring Boot 应用程序中,我们可以通过修改配置文件或者编程方式来配置日志级别。在下面的示例中,我

    2024年02月14日
    浏览(41)
  • Java EE 突击 9 - Spring Boot 日志文件

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月13日
    浏览(48)
  • Spring Boot多环境配置及Logback日志记录

    Spring Boot多环境配置 logback日志记录器 Spring Boot的针对不同的环境创建不同的配置文件, 语法结构:application-{profile}.properties profile:代表的就是一套环境 application-dev.yml 开发环境 端口8090 application-test.yml 测试环境 端口8091 application-prod.yml 生产环境 端口8092 在application.yml 中激活

    2024年01月19日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包