SpringBoot初识(3)

1.认识日志

日志是程序的重要组成部分,如果程序运行中出现错误,日志就是帮助我们找到错误原因的最好帮手。

日志除了可以帮助发现和定位问题外,还可以记录一些比较重要的信息,比如:用户登录日志、系统操作日志、程序启动时间等等。

2.日志如何使用

SpringBoot项目启动时,就会打印一些默认的日志,如图所示:

 由此可知,SpringBoot时内置了日志框架的,所以才能打印到控制台。

默认情况下,打印的日志不是开发者定义和打印出来的。

日志默认打印到控制台,但是我们需要的是把日志保存为一种持久化的文件。

上述三点就是我们需要在使用日志时,需要做到的。

 如上图所示,这个就是SpringBoot内置的日志框架。

日志门面就类似于一个代理,程序请求到SLF4J这个日志门面,这个日志门面再根据配置等选择哪个日志实现。

(1)SpringBoot日志打印

a.得到日志对象;

 每一个类都有一个自己的日志对象,我们需要选择slf4j这个包下的Logger和LoggerFactory,我们使用日志工厂LoggerFactory创建Logger对象,使用方法getLogger时,可以传两种参数,名字和类两种,这里建议传类,这样日志打印出来的对象,就是这个类的全名,包括其路径。

b.使用日志对象提供的方法打印日志;

 这里使用了日志对象的五个方法,其实就是日志的五个级别,我们启动一下项目。

目前只打印初info、warn、error这三个日志,因为默认级别是info,其只能打印出info级别及以上的内容。

现在查看打印出的日志,其给与了日志的打印时间、日志的级别、打印日志线程的id(11808)、类名的全称、日志信息。

3.日志级别

日志级别的作用就是帮助筛选出需要的日志。比如日志级别设置为error,我们就是只看程序的报错日志。

日志级别还可以控制不同环境下,一个程序是否需要日志,比如开发环境下需要很详细的日志,生产环境下只需要一小部分。

日志级别为:

trace:微量、少许,日志级别最低

debug:调试时的关键信息打印

info:普通日志打印,默认的日志级别

warn:警告,不影响使用,但需要注意

error:错误信息,级别较高的错误日志

fatal:致命的,因为代码异常导致程序执行退出

日志级别从上到下是由低到高。

那么如何设置日志级别呢?

日志级别只需要在配置文件中配置“logging.level”配置项即可,如图所示。

我们再次执行程序

 现在只打印出了一个error日志,因为其他日志都比error的级别低。

 在这个配置之下,我们还可以配置固定包下的日志。



 4.日志持久化 

上面的日志都是打印到控制台的,然而在生产环境下我们是需要将日志保存下来,以便于出现问题之后进行追溯,把日志保存下来的过程就叫做持久化。

想要将日志持久化,只需要在配置文件中,指定日志的保存目录,或者完整的保存文件名,SpringBoot就会自动将其保存。

设置文件的保存路径:

这里我们设置其日志的保存路径为“D:\test\lujin”,启动程序。

 

 

启动程序后,SpringBoot就会在路径下自动创建“spring.log”文件,并将日志写入。 

设置文件的保存名称:

启动程序后,就可以在这个路径下找到这个文件名的日志文件。

 

 日志文件一旦持久化,那么日志文及其内容就会永久的保存,不会出现丢失。

程序运行日志一般存放在文件中,而业务日志一般放到数据库中。

5.简化日志操作

目前我们的日志操作以及全部可以了,但是有一个问题就是比较复杂,每个类里面都得创建这样一个对象才能去输出日志。

首先要添加lombok依赖:

 然后在类上添加@slf4j注解,使用注解后会给类提供log对象:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值