SpringBoot详细讲解日志文件
目录
- 1 日志的功能是什么?
- 2 如何自定义日志打印
- 2.1 在程序中获取日志对象
- 2.2 调用日志对象打印日志
- 2.3 查看日志打印的结果
- 3 日志的级别
- 3.1 日志级别的分类
- 3.2 日志级别的设置
- 4 日志持久化
- 5 更简单的日志输出
- 5.1 添加 lombok 依赖
- 5.2 输出日志
- 5.3 lombok 更多的注解
1 日志的功能是什么? 如果程序报错了, 却不能从控制台查看日志, 那么就不知道错误的原因了.
日志的功能 :
- 快速的排查和定位问题
- 记录用户登录的日志
- 记录系统的操作日志
- 记录程序的执行时间
2 如何自定义日志打印 自定义日志的打印步骤 :
第一步: 在程序当中获取日志对象
第二步: 调用日志对象的打印方法, 将信息打印出来
2.1 在程序中获取日志对象
获取日志对象需要使用日志工厂
LoggerFactory
这里的
Logger
对象属于 org.slf4j
包下.// 1. 得到日志对象private static final Logger logger = LoggerFactory.getLogger(UserController.class);
文章图片
SpringBoot中内置了 日志框架
slf4j
, 可以直接在程序中调用slf4j
来输出日志2.2 调用日志对象打印日志
日志对象的打印方法有很多, 目前展示这一个
// 2. 使用日志对象打印日志logger.info("日志级别:info");
2.3 查看日志打印的结果
文章图片
3 日志的级别 有了日志的级别, 开发者就可以设置日志级别, 从而得到对自己有用的日志信息, 大大节省了分类的成本.
3.1 日志级别的分类
日志的级别分为:
trace
:普通微量的日志信息debug
: 调式的时候的日志信息info
: 普通的日志信息 (默认日志级别)warn
: 警告的日志信息error
: 错误的日志信息fatal
: 致命错误,最高日志级别
文章图片
3.2 日志级别的设置
在配置文件中配置日志级别
.properties
中的格式logging.level.root=error
.yml
中的格式logging:输出
level:
root: info
文章图片
如果设置的是info级别.那么级别低于info的就不输出了.
日志输出级别, 默认是info
4 日志持久化 上面演示的日志, 都是输出在控制台的, 如果在生产环境下, 想要保存这些日志, 方便日后查看日志. 这里的把日志保存下来, 就叫做持久化
注意: 默认情况下SpringBoot会有一个最大的日志大小限制, 如果日志的文件大于默认的最大日志大小, 那么SpringBoot会重新
配置日志文件的保存路径
logging:配置日志文件的文件名
file:
path: D:/logs
logging:运行后查看文件
file:
name: D:/logs/spring.log
文章图片
5 更简单的日志输出 如何在SpringBoot中快速添加依赖?
下载插件
EditStarters
文章图片
5.1 添加 lombok 依赖
在
pom.xml
里右击 选则 Generate
文章图片
文章图片
文章图片
记得刷新以下maven
5.2 输出日志
首先添加
@Slf4j
注解使用log对象打印日志, 例如
log.error()
@Controller@Slf4jpublic class UsersController {@RequestMapping("/log")@ResponseBodypublic String printLog() {log.error("error"); return "Log"; }}
5.3 lombok 更多的注解
普通注解
注解 | 作用 |
---|---|
@Getter | ?动添加 getter ?法 |
@Setter | ?动添加 setter ?法 |
@ToString | ?动添加 toString ?法 |
@EqualsAndHashCode | ?动添加 equals 和 hashCode ?法 |
@NoArgsConstructor | ?动添加?参构造?法 |
@AllArgsConstructor | ?动添加全属性构造?法,顺序按照属性的定义顺序 |
@NonNull | 属性不能为 null |
@RequiredArgsConstructor | ?动添加必需属性的构造?法,final + @NonNull 的属性为必需 |
注解 | 作用 |
---|---|
@Data | @Getter + @Setter + @ToString +@EqualsAndHashCode +@RequiredArgsConstructor +@NoArgsConstructor |
注解 | 作用 |
---|---|
@Slf4j | 添加?个名为 log 的?志,使? slf4 |
推荐阅读
- python|Numpy - 1.22.1 详细笔记
- 重庆小米熊儿童医院专家讲解小儿脑瘫的症状及治疗
- Spring缓存之 @Cacheable 详细介绍
- java|SpringBoot+Redis搜索栏热搜过滤
- 算法|SpringBoot+Redis 实现一个微博热搜!
- SpringBoot+Redis 搜索栏热搜、不雅文字过滤功能
- redis|springboot java+redis 实现简单实用的搜索栏热搜功能,不雅文字过滤功能。
- Spring|Spring Boot 详细分析Conditional自动化配置注解
- 李航统计学习方法--8. 提升方法(详细推导)
- 难以想象SpringBoot中的条件注解底层居然是这样实现的