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注解。

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ambition…

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值