【第六篇】 SpringBoot的日志基础操作
简介
日志系统在软件开发中至关重要,用于调试代码、记录运行信息及错误堆栈。本篇文章不仅详细介绍了日志对象的创建及快速使用,还说明了日志持久化的两种配置方式和滚动日志的设置。实际开发需根据场景选择合适的日志级别和存储策略。文章内容若存在错误或需改进的地方,欢迎大家指正!若对操作有任何疑问欢迎留言!非常感谢!
目录
一、日志的作用及基础使用
1、日志的作用
2、日志的基础使用
3、日志级别
(1)直接配置(不常用)
(2)设置根日志级别
二、使用lombok快速添加日志
1、导入lombok的坐标
2、使用@Slf4j注解
三、日志格式解析
四、日志持久化
1、日志持久化两种方式
(1)使用name属性(优先级高)
(2)使用path属性(较name优先级低)
2、滚动日志
一、日志的作用及基础使用
1、日志的作用
- 编程期调试代码
- 运行期记录信息
- 记录日常运行的重要信息(峰值流量、平均响应时长... ...)
- 记录应用报错信息(错误堆栈)
- 记录运维过程数据(扩容、宕机、报警... ...)
2、日志的基础使用
首先在类里面创建一个记录日志的对象,这里使用的是slf4j包下的Logger。然后使用对象直接调用日志方法即可,这里展示了常用的四种级别的日志打印的使用方法。
运行项目,然后请求一下这个地址,就会发现在控制台上已经有了日志的输出。框架中默认的日志级别是info,所以只会输出info及更高级别的日志。
3、日志级别
- TRACE:运行堆栈信息,使用率极低
- DEBUG:开发者调式代码使用
- INFO:记录运维过程数据(默认,且常用)
- WARN:记录运维过程警告数据
- ERROR:记录错误堆栈信息
- FATAL:灾难信息,合并计入ERROR
框架中默认的日志级别是INFO,当然可以通过配置等方式来设置日志打印级别。
(1)直接配置(不常用)
直接在配置文件中设置日志级别为true,然后运行之后可以发现控制台日志的级别发生改变。这是一个全局的调试模式开关,会打印整个应用程序的行为。
(2)设置根日志级别
仅配置日志系统的根日志级别(Root Logger),不涉及其他调试功能。只影响所有通过该日志系统输出的日志。
二、使用lombok快速添加日志
1、导入lombok的坐标
2、使用@Slf4j注解
哪里需要打印日志,那么直接在类上声明@Slf4j注解即可,然后使用方法不变,还是log对象。
三、日志格式解析
四、日志持久化
1、日志持久化两种方式
(1)使用name属性(优先级高)
这种方式可以直接指定路径加文件名,这样的话会在指定路径下生成指定名称的日志文件。
(2)使用path属性(较name优先级低)
该属性只能指定路径,不能指定名称,会在指定路径下生成一个spring.log的日志文件。
2、滚动日志
每个系统对单个文件的大小都是有限制的,而且当日志文件过大时非常不宜于查看,最后所有记录日志的时候都是会将日志进行分片的,不会将所有的日志都记录在同一个文件当中。
下面是根据大小进行分片,注意max-file-size只是一个近似值,并没有那么精确。file-name-pattern用于设置日志的格式,例如下面这种使用日期加序号的形式。