目录
1.日志文件的作用
- 记录用户登录日志,方便分析用户是正常登录还是恶意破解用户。
- 记录系统的操作日志,方便数据恢复和定位操作人。
- 记录程序的执行时间,方便为以后优化程序提供数据支持。
2.Spring Boot内置框架
- Spring Boot内置了日志框架
- 默认情况下,输出的日志并非开发者定义和打印的
- 日志默认是打印在控制台上的,而控制台的日志是不能被保存的
3.自定义日志打印
3.1 步骤
- 在程序中得到日志对象
- 使用日志对象打印日志
3.3.1 在程序中得到日志对象
3.3.2 使用日志对象打印日志
@RestController //要求方法返回的是json格式数据,而不是跳转页面
@RequestMapping("/user") //用来处理请求地址映射的注解
public class UserController {
// 1.得到日志对象
private static final Logger log= LoggerFactory.getLogger(UserController.class);
// 2.使用日志打印日志
@PostConstruct //在方法上加该注解会在项目启动的时候执行该方法,
// 也可以理解为在spring容器初始化的时候执行该方法。
public void print(){
log.info("---------要输出日志的内容----------");
}
}
执行结果:
使用 @slf4j 注解可以更简单的输出日志。 代替LoggerFactory.getLogger(xxx.class)
@RestController //要求方法返回的是json格式数据,而不是跳转页面
@RequestMapping("/user") //用来处理请求地址映射的注解
@Slf4j
public class UserController {
// 1.得到日志对象
// private static final Logger log= LoggerFactory.getLogger(UserController.class);
// 2.使用日志打印日志
@PostConstruct //在方法上加该注解会在项目启动的时候执行该方法,
// 也可以理解为在spring容器初始化的时候执行该方法。
public void print(){
log.info("---------要输出日志的内容----------");
}
}
执行结果:
4.日志级别
4.1 设置日志级别的作用
- 日志级别可以帮你筛选出重要的信息,比如设置日志级别为 error,那么就可以只看程序的报错日志了,对于普通的调试日志和业务日志就可以忽略了,从而节省开发者信息筛选的时间。
- 日志级别可以控制不同环境下,⼀个程序是否需要打印日志,如开发环境我们需要很详细的信息, 而生产环境为了保证性能和安全性就会输入尽量少的日志,而通过日志的级别就可以实现此需求。
4.2 日志级别分类
- trace:微量,少许的意思,级别最低;
- debug:需要调试时候的关键信息打印;
- info:普通的打印信息(默认日志级别);
- warn:警告,不影响使用,但需要注意的问题;
- error:错误信息,级别较高的错误日志信息;
- fatal:致命的,因为代码异常导致程序退出执行的事件。
4.2.1 日志级别设置
配置根路径的日志级别 :
logging:
level:
root: info
配置指定包的日志级别
com:
example:
springbootdemo:
controller:
trace
日志的输出级别,默认是 info
5. 日志持久化
5.1 日志持久化的必要性
以上的日志都是输出在控制台上的,然而在生产环境上咱们需要将日志保存下来,以便出现问题之后追溯问题,把日志保存下来的过程就叫做持久化。
5.2 日志持久化的方法
想要将日志进行持久化,只需要在配置文件中指定日志的存储目录或者是指定日志保存文件名之后, Spring Boot 就会将控制台的日志写到相应的目录或文件下了
# 设置⽇志⽂件的⽂件名
logging:
file:
name: D:\\home\\Spring Boot-demo
本文内容到此结束了,
如有收获欢迎点赞收藏💖关注✔️,您的鼓励是我最大的动力。
如有错误疑问💬欢迎各位指出。
主页:爱放阳的小女孩的博客_CSDN博客-软件测试,spring领域博主求同存异,与光同尘🏃🏃