本篇介绍springboot的日志,如何认识日志,如何进行日志持久化,通过日志级别判断信息,了解Lombok插件的使用,通过Lombok自带注释更简洁的来完成日志打印,如有错误,请在评论区指正,让我们一起交流,共同进步!
日志的作用:记录信息,方便以后查看;打印错误信息,方便自己找出错误;
先来认识springboot默认打印的日志:
日志的默认格式:
日志级别的作用:过滤信息,去掉业务不需要的日志;
日志级别:
trace: 微量,少许,日志级别最低;
debug: 调试日志级别;
info: 普通日志级别;
warn: 警告日志级别;
error: 错误日志级别
fatal: 致命日志级别,只要系统在崩溃时才会输入的日志级别,级别最高;
根据日志的作用,可能有时需要修改默认的日志级别:
修改方式:在配置文件中修改即可,logging.level+root/包名;
#修改项目日志默认级别
logging.level.root=warn
#修改项目中某一个目录的日志级别: logging.level+包名
logging.level.com.example.demo.controller=debug
思考:springboot为什么可以打印日志,并设置日志?
springboot中内置俩个日志框架:slf4j + LogBack;
slf4j框架作用:让开发者 使用 和 调用 的框架;- 操作不用考虑底层
LogBack框架作用:它最底层是实现日志相关操作的框架;- 例如:打印日志等底层操作;
日志持久化:为防止日志的丢失,需要将日志存储到硬盘中,来实现日志持久化;
下面介绍两种持久化日志的方式:
logging.file.path=D:\\dp\\
logging.file.name=D:\\dp\\spr_boot.log
Lombok : 一个java库,用来增强java性能;例如:通过注释来代替去写setter,getter等方法;
Lombok中好用的两个注解:@Data 与 @Slf4j
@Date组合注解:使用该注解,就包含了以下注解的功能;
@Getter : ⾃动添加 getter ⽅法
@Setter : ⾃动添加 setter ⽅法
@ToString : ⾃动添加 toString ⽅法
@EqualsAndHashCode : ⾃动添加 equals + hashCode ⽅法
@RequiredArgsConstructor : 自动添加必要属性的构造方法 (final 与 @NonNull 属性为必须属性)
@NoArgsConstructor :自动添加无参构造方法
【注】@NonNull : 属性不能为 null
@Slf4j注释:该注释产生一个 日志对象,就获取日志对象log
// @Slf4j == private static Logger log = LoggerFactory.getLogger(Test.clss);
// 不写注释就需要根据这行代码获取日志对象
Lombok为什么能实现呢?
Lombok 的 实现原理:
在编译阶段,Lombok 与 用户代码.java文件 一起生成字节码.class文件,
这个过程中Lombok将对应的注释功能,转换为了注释对应方法的代码;再一起在JVM上运行;
- Lombok + .java =》.class =》JVM
✨✨✨各位读友,本篇分享到内容如果对你有帮助给个赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!