SpringBoot配置文件日志

目录

一、SpringBoot配置文件的作用

二、SpringBoot配置文件的分类

1、application.properties

2、application.yml

3、application.yaml

三、使用配置文件实例--验证码

1、使用Kaptcha插件生成验证码

2、网页需求分析

3、前端页面

4、发送请求

5、服务器作出响应

6、客户端作出响应

7、效果展示

四、SpringBoot日志

1、日志形式

2、打印日志内容

3、解释slf4j

4、日志级别

5、打印不同级别日志

6、修改日志级别输出

7、日志持久化

8、配置日志文件分割

9、配置日志格式

10、使用注解生成日志对象


一、SpringBoot配置文件的作用

很多项目或者框架的配置信息都放在了SpringBoot配置文件中,比如:项目的启动端口、连接数据库的配置信息、有关日志的配置等信息都可以在配置文件中设定。

二、SpringBoot配置文件的分类

配置文件有三种:application.properties、application.yml、application.yaml.

1、application.properties

(1)配置项目端口号为9090:

此时若要访问服务器,端口号就是9090,不再是8080了。

(2)读取配置文件

通过@Value注解 + “${}”读取配置文件内容

(3)properties的优缺点

格式简单,但有很多冗余的信息。

2、application.yml

(1)配置项目端口号为9090以及配置数据库连接信息:

(2)读取配置文件

(3)yml优缺点

可读性高,但格式要求高,不适合写复杂的配置文件。

(4)yml中配置不同类型及空值

(5)value值加单双引号

结论:①字符串不需要加单双引号;②单引号会转义,‘\n’被转义了,不再表示换行符;③双引号不会转义,‘\n’未被转义,依旧表示换行符。

(6)配置对象

①配置文件中写入对象:

②@ConfigurationProperties注解读取配置对象,放在容器中:

③注入输出:

(7)配置集合list

①配置文件中写入list集合:

②@ConfigurationProperties注解读取配置对象,放在容器中:

name2是和上面对应的,不一样会输出null

③注入输出:

(8)配置map

①配置文件中写入map:

②@ConfigurationProperties注解读取配置对象,放在容器中:

③注入输出:

3、application.yaml

与application.yml格式一样,就不做详细说明。

注:当application.properties配置文件与application.yml配置文件都存在时,properties的优先级大于yml

三、使用配置文件实例--验证码

验证码可以由客户端生成,也可以由服务端生成。服务端生成分为两部分:第一部分生成验证码内容,根据验证码内容和干扰项生成图片,返回给客户端;第二部分是将生成的字符串内容存储起来,校验时拿出来。

1、使用Kaptcha插件生成验证码

(1)引入依赖

(2)配置文件中生成验证码

(3)访问配置文件路径

(4)配置验证码生成样式

还可以配置其他内容:图片长宽、干扰项样式,具体内容可以进入官网查看。

2、网页需求分析

(1)页面生成验证码;

(2)输入验证码内容,点击提交,匹配成功页面跳转,不成功提示不正确。

3、前端页面

前端有两个页面:index.html和success.html。

(1)index.html页面

查看效果:

(2)success.html页面

4、发送请求

请求方法:post,请求格式:json,请求内容:输入的内容。路径:/admin/check

5、服务器作出响应

6、客户端作出响应

7、效果展示

四、SpringBoot日志

1、日志形式

2、打印日志内容

(1)直接打印

直接打印的日志信息会缺少一些信息。

(2)按日志形式打印日志

①导入日志对象,是slf4j框架。

②输出打印内容

3、解释slf4j

slf4j是一个日志门面,不是一个真正的日志框架,是其他日志框架的门面。

门面模式:称为外观模式,提供了一个统一的接口,用来访问子系统的许多接口。减少了系统的相互依赖,实现了客户端与子系统的耦合关系;提高了灵活性,客户端无需子系统关心的具体实现方式。

常见的日志框架:log4J,logback

引入日志门面的优点:引入日志门面后只需要维护一套日志文件配置,且当底层框架修改,也不影响日志门面的使用。

4、日志级别

日志级别代表了对应日志信息的问题的严重性,级别越高收到的日志信息越少。一共有6个级别,从高到低为:FATAL、ERROR、WARN、INFO、BEBUG、TRACE。

5、打印不同级别日志

(1)没有设置fatal级别的日志

是因为springboot默认使用的是logback日志框架,logback框架没有fatal级别,被映射到error级别了。出现fatal级别的日志,表明服务器一定程度上已经不可用了。

(2)没有打印debug和trace级别的日志

与日志级别的配置有关,日志输出级别默认是info,只会打印大于等于info级别的日志,即:error、warn、info三个级别的日志。

6、修改日志级别输出

此时就可以打印debug级别的日志了。

7、日志持久化

持久化:日志内容保存下来。

以上日志内容都是被打印在了控制台,若重新启动服务器,日志内容就没有了,所以需要将日志内容保存下来,以便后续发现问题。

(1)配置日志文件名

name后可以跟绝对路径,也可以跟相对路径。

(2)配置日志文件存储目录

该路径下就会放一个文件名固定为spring.log的文件,记录存储的日志内容。

8、配置日志文件分割

以上会存在一个问题:不断往文件中存储日志,文件会越来越大,此时就需要对文件分割。

如果不进行配置,当文件大小超过10MB时也会自动分割。

最开始的日志内容在springboot.log.2024-2-20.0文件中。

9、配置日志格式

%clr(表达式){颜色}:设置输入日志的颜色;

%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}}:日期和时间,精确到毫秒;

%5p:显示日志级别;

%t:线程名,%c:类的全限定名,%L:行号,%thread:线程名称;

10、使用注解生成日志对象

 每个类想打印日志获取日志对象时都需要写入:LoggerFactory.getLogger(xxx.class)。可以使用注解直接获取对象:

也可以打印日志:

注:使用@Slf4j注解时,要先引入lombok依赖。是lombok提供的@Slf4j注解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE3 中导入Visio 图形

微软的Visio是一个功能强大的图形设计工具,它能够绘制流程图,P&ID,UML 类图等工程设计中常用的图形。它要比其它图形设计软件要简单许多。以后我的博文中将更多地使用VISO 来绘制图形。之前我一直使用的是corelDraw。 Visio 已经在工程设…

grid新建主从一对多

目录 总结一、步骤前端1.第一步-编写tabs的modelBody2.第二步编辑表扩展js 后端--重写表的add和Update方法1.第一步 总结 编写tabs的modelBody后编辑表扩展js在重写后端partial的Service 一、步骤 前端 1.第一步-编写tabs的modelBody 复制下面代码该改的改 <template&…

猫头虎分享: All in AI时代来临,作为程序员我们应该做些什么?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Vue3自定义全局指令批量注册

指令封装代码&#xff1a; import type { App } from "vue";const content {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };const operate {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };cons…

centos服务器使用1PANEL安装部署Halo

接上文&#xff0c;我们购买好了服务器并登录成功后。就可以进行建站操作啦。博主这里主要是想试一下Halo的搭建。 上期文章&#xff1a; 前端仔浅浅复习一下服务器的购买与使用 Halo是类似于WordPress的CMS博客内容系统&#xff0c;不过Halo是国内开源的&#xff0c;技术和界…

冒泡排序及其优化

冒泡排序 int[] arr {1,3,2,9,4,7,2,8};//比较多少轮(n个数字比较n-1次)for(int i0,n arr.length;i<n-1;i) {//每轮比较多少次(n-1-i次)for(int j 0;j<n-1-i;j) {//两两比较if(arr[j] > arr[j1]) { //比较结果为升序排列&#xff0c;如果想要降序排列结果将 >…

shell运行原理

前言 前一段时间由于身体的缘故和一些琐事&#xff0c;好久没有更新Linux的博文了。从本篇博文开始会接着以前的内容一直持续更新&#xff01; 本期类容介绍 为什么存在shell外壳&#xff1f; 什么是shell外壳&#xff1f; shell外壳是如何工作的&#xff1f; 一、为什么存在…

【办公类-16-07-03】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环、有场地、贴墙版”(python 排班表系列)

作品展示——有场地说明 背景需求&#xff1a; 前期做了一份“贴周计划”用的班主任版的户外游戏安排表&#xff08;中X班19周&#xff0c;没有场地&#xff09; 【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地&#xff0c;6周一次循环”&#xff08;…

认识TypeScript 中的接口和类

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 接口 类 江城开朗的豌豆 在 TypeScript 中&…

企业办公终端文件数据\资料防泄密管理系统——天锐绿盾 | 防泄密软件——自动智能透明加密保护核心数据资料,防止外泄

其“数据防泄密系统”是一套从源头上保障数据安全和使用安全的加密软件系统&#xff0c;已全面覆盖Linux、Mac、Windows系统&#xff0c;可进行各类型文档加密、音视频加密、源码加密、Cad图纸加密、多种类型设计稿源文件加密。 PC端&#xff1a;https://isite.baidu.com/site/…

移动通信相关知识学习笔记

一、移动通信架构简图 移动无线的接入网是专指各种基站设备。核心网就是各种交换机。 二、无线信号基本原理 无线网络中&#xff0c;使用AP设备和天线来实现有线和无线信号互相转换。如上图所示&#xff0c;有线网络侧的数据从AP设备的有线接口进入AP后&#xff0c;经AP处理为…

Maxwell - 增量数据同步工具

前言 今天来学习一个新的大数据小工具 Maxwell &#xff0c;它和 Sqoop 很像。Sqoop主要用于在 Hadoop &#xff08;比如 HDFS、Hive、HBase 等&#xff09;和关系型数据库之间进行数据的批量导入和导出&#xff0c;而 Maxwell 则主要用于监控数据库的变化&#xff08;通过监控…

基于MATLAB的QPSK调制解调仿真(仿真图超多,结果超清晰)

基于MATLAB的QPSK调制解调仿真(包含中间各个环节的时域波形、功率谱、频谱图、星座图和眼图、理论与仿真的误码率曲线) 目录 前言 一、QPSK调制解调过程 二、仿真结果 Ⅰ、码元信噪比eb/n010dB时 1、双极性不归零基带信号 2、成型滤波(根升余弦滤波)后 3、调制后 4、加入…

Linux CentOS stream 9 firewalld

随着互联网行业快速发展&#xff0c;服务器成为用户部署网络业务重要的网络工具&#xff0c;但随之而来的就是更密集的网络攻击&#xff0c;这给网站带来了很大的阻碍。防火墙作为保障网络安全的主要设备&#xff0c;可以很好的抵御网络攻击。 防火墙基本上使用硬件和软件两种…

深度学习(16)--基于经典网络架构resnet训练图像分类模型

目录 一.项目介绍 二.项目流程详解 2.1.引入所需的工具包 2.2.数据读取和预处理 2.3.加载resnet152模型 2.4.初始化模型 2.5.设置需要更新的参数 2.6.训练模块设置 2.7.再次训练所有层 2.8.测试网络效果 三.完整代码 一.项目介绍 使用PyTorch工具包调用经典网络架构…

PCIe学习笔记(2)错误处理和AER/DPC功能

文章目录 PCIe ErrorAER (Advanced Error Reporting)DPC (Downstream Port Containment) 处理器上错误通常可分为detected和undetected error。Undetected errors可能变得良性(benign)&#xff0c;也可能导致系统故障如silent data corruptions (SDC)。Detected errors则又可分…

MySQL基础学习

MySQL基础 注意&#xff1a;本文的图片截图自尚硅谷MySQL笔记。 一&#xff1a;基本概述&#xff1a; 什么是数据库&#xff1a; 数据库是一种用来存储和管理数据的系统。它是一个组织化的数据集合&#xff0c;可以通过计算机系统进行访问、管理和更新。数据库可以存储各种…

如何使用CloakQuest3r获取受安全服务保护的网站真实IP地址

关于CloakQuest3r CloakQuest3r是一款功能强大的纯Python工具&#xff0c;该工具可以帮助广大研究人员获取和查看受Cloudflare和其他安全服务商保护的网站真实IP地址。 Cloudflare是一种广泛采用的网络安全和性能增强服务&#xff0c;而CloakQuest3r的核心任务就是准确识别隐…

怎么在抖音带自己的货?带货方式和带货要求,如下所示

我是王路飞。 不管你是无货源的新手小白&#xff0c;还是有货源的厂家/供应链&#xff0c;想在抖音卖货的话&#xff0c;无非就两种方式&#xff1a;要么开店、要么开直播带货。 看似都是在抖音卖货&#xff0c;但其实这是两条不同的赛道。 这篇文章就给你们聊下想在抖音卖货…

【Redis】理论进阶篇------Redis的持久化

一、前言 前面学习了Redis的相关的十大数据类型以及用SpringBoot集成我们的Redis的工具代码的书写。从这篇文章开始&#xff0c;就会从Redis相关的一些理论&#xff08;也是面试和工作的热点知识&#xff09;如&#xff1a;Redis的持久化、Redis的订阅发布模型、Redis集群环境搭…