一. 日志的作用
1)用于发现和定位问题
2)记录用户的登录日志,分析是否是正常登录的用户
3)记录系统的操作日志,方便数据恢复和定位操作人
4)记录程序的执行时间,方便为以后优化程序提供数据支持
二. 日志怎么用
以上就是 Spring Boot 输出的控制台日志信息
我们可以发现三个问题:
1)SpringBoot 内置了日志框架
2)默认情况下,输出的日志并非是开发者定义打印的,那开发者怎么在程序中自定义打印日志?
3)怎么把日志永远保存下来
三. 自定义日志打印
开发者⾃定义打印⽇志的实现步骤:
1)在程序中得到⽇志对象。
2)使⽤⽇志对象的相关语法输出要打印的内容
3.1 在程序中得到日志对象
private static Logger logger = LoggerFactory.getLogger(UserController.class);
注意:Logger 对象是属于 org.slf4j 包下的
3.2 使用日志对象打印日志
⽇志对象的打印⽅法有很多种,我们可以先使⽤ info() ⽅法来输出⽇志:
logger.info("--------------要输出⽇志的内容----------------");
3.3 日志格式说明
四. 日志级别
程序只会打印和当前日志级别相同或更高的日志
4.1 日志级别的作用
1)日志级别可以帮助我们筛选出重要的信息
2)日志级别可以控制不同环境下,一个程序是否需要打印日志
4.2 日志级别的分类与使用
日志的级别分为(从低到高):
trace:微量,少许的意思,级别最低;
debug:需要调试时候的关键信息打印;
info:普通的打印信息(默认日志级别);
warn:警告,不影响使⽤,但需要注意的问题;
error:错误信息,级别较⾼的错误日志信息;
fatal:致命的,因为代码异常导致程序退出执行的事件。
日志级别设置
在配置文件中如下设置:
logging:
level:
root: error
五. 日志持久化
想要将⽇志进⾏持久化,只需要在配置⽂件中指定⽇志的存储⽬录或者是指定⽇志保存⽂件名之后,Spring Boot 就会将控制台的⽇志写到相应的⽬录或⽂件下了。
配置日志文件的保存路径:
# 设置⽇志⽂件的⽬录
logging:
file:
path: D:\\home\\ruoyi
配置日志文件的文件名:
# 设置⽇志⽂件的⽂件名
logging:
file:
name: D:\\home\\ruoyi\\spring-1204.log
六. 更简单的日志输出 -- lombok
1)添加 lombok 框架
2)使用 @slf4j 注解输出日志
6.1 添加 lombok 依赖(也可以在创建 Spring Boot 项目时勾选 lombok)
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<optional>true</optional>
</dependency>
6.2 输出日志
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/p")
@Slf4j
public class PersonController {
@RequestMapping("/log")
public void loggerTest() {
log.error("------------------- error -----------------");
}
}