文章目录
提示:以下是本篇文章正文内容,Java系列学习将会持续更新
一、什么是日志?
日志是程序的重要组成部分,想象一下,如果程序报错了,不让你打开控制台看日志,那么你能找到报错的原因吗?
答案是否定的,写程序不是买彩票,不能完全靠猜,因此日志对于我们来说,最主要的用途就是排除和定位问题
。
除了发现和定位问题之外,我们还可以通过日志实现以下功能:
· 记录用户登录日志,方便分析用户是正常登录还是恶意破解用户。
· 记录系统的操作日志,方便数据恢复和定位操作人。
· 记录程序的执行时间,方便为以后优化程序提供数据支持。
以上这些都是日志提供的非常实用的功能。
二、日志的使用
Spring Boot 项目在启动的时候默认就有日志输出,是因为Spring Boot 内置了日志框架。
那我们如何自定义日志打印?
如何将日志永久保存?
1. 在程序中得到日志对象
1-1 通过创建Logger对象
Spring Boot 在 org.slf4j 包下,提供了日志类。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class UserController {
// 得到日志对象
private static Logger logger = LoggerFactory.getLogger(UserController.class);
public static void main(String[] args) {
private int val = 10;
// . . . . . .
// 打印日志
logger.info("此时val的值为: {}", val);
}
}
1-2 通过添加lombok依赖
在创建项目时直接加入lombok
框架,或后期在pom.xml中手动添加。
pom.xml依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
使用@Slf4j
注解:
@Slf4j
public class Demo {
public static void main(String[] args) {
int val = 10;
log.debug("此时val的值: {}", val);
}
}
2. 日志级别
日志的级别就是为了筛选符合目标的日志信息的。
日志的级别由低到高分为:
debug
:需要调试时候的关键信息打印;info
:普通的打印信息;warn
:警告,不影响使用,但需要注意的问题;error
:错误信息,级别较高的错误日志信息;fatal
:致命的,因为代码异常导致程序退出执行的事件。无法自定义。
日志的输出级别,默认是 info
,输出级别以下的日志无法输出到控制台。
3. 配置文件设置日志
3-1 关闭日志
关闭Spring 项目中日志打印功能,在application.yml 中进行配置:
spring:
main:
# 关闭 Spring 默认的 banner 显示
banner-mode: off
# 关闭启动日志打印
log-startup-info: false
3-2 修改级别
日志级别配置只需要在配置文件中设置“logging.level”配置项即可,如下所示:
在yml文件修改级别:指定XX包下的日志级别
logging:
level:
# 默认级别为 info
# 指定包
com.wangshaoyu: debug
# 指定类
com.wangshaoyu.TestLog: error
3-3 日志持久化
在生产环境上咱们需要将日志保存下来,以便出现问题之后追溯问题,把日志保存下来的过程就叫做持久化。
想要将日志进行持久化,只需要在配置文件中指定日志的存储目录
或者是指定日志保存文件名
之后,Spring Boot 就会将控制台的日志写到相应的目录或文件下了。
配置日志文件的保存路径:
# 设置日志文件的目录
logging:
file:
path: D:\home\ruoyi
或者,配置日志文件的文件名:
# 设置日志文件的文件名
logging:
file:
name: D:\home\ruoyi\spring-1204.log
总结:
提示:这里对文章进行总结:
以上就是今天的学习内容,本文是SpringBoot日志的学习,学习了如何自定义日志打印,什么是日志级别,如何在配置文件修改日志级别和保存下载日志文件。之后的学习内容将持续更新!!!