SpringBoot详细讲解日志文件

网友投稿 440 2022-07-22


目录1 日志的功能是什么?2 如何自定义日志打印2.1 在程序中获取日志对象2.2 调用日志对象打印日志2.3 查看日志打印的结果3 日志的级别3.1 日志级别的分类3.2 日志级别的设置4 日志持久化5 更简单的日志输出5.1 添加 lombok 依赖5.2 输出日志5.3 lombok 更多的注解

1 日志的功能是什么?

如果程序报错了, 却GDGfKc不能从控制台查看日志, 那么就不知道错误的原因了.

日志的功能 :

快速的排查和定位问题记录用户登录的日志记录系统的操作日志记录程序的执行时间

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:  http://file:    name: D:/logs/spring.log

运行后查看文件

5 更简单的日志输出

如何在SpringBoot中快速添加依赖?

下载插件 EditStarters

5.1 添加 lombok 依赖

在 pom.xml 里右击 选则 Generate

记得刷新以下maven

5.2 输出日志

首先添加 @Slf4j 注解

使用log对象打印日志, 例如 log.error()

@Controller

@Slf4j

public class UsersController {

@RequestMapping("/log")

@ResponseBody

public String printLog() {

log.error("error");

return "Log";

}

}

5.3 lombok 更多的注解

普通注解

注解作用@Getter⾃动添加 getter ⽅法@Setter⾃动添加 setter ⽅法@ToString⾃动添加 toString ⽅法@EqualsAndHashCode⾃动添加 equalsGDGfKc 和 hashCode ⽅法@NoArgsConstructor⾃动添加⽆参构造⽅法@AllArgsConstructor⾃动添加全属性构造⽅法,顺序按照属性的定义顺序@NonNull属性不能为 null@RequiredArgsConstructor⾃动添加必需属性的构造⽅法,final + @NonNull 的属性为必需

组合注解

注解作用@Data@Getter + @Setter + @ToString +@EqualsAndHashCode +@RequiredArgsConstructor +@NoArgsConstructor

日志注解

注解作用@Slf4j添加⼀个名为 log 的⽇志,使⽤ slf4


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于Maven混合配置私有仓库和公共仓库的问题
下一篇:Java中LinkedList的模拟实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~