【Spring Boot学习二】日志文件

目录

🌷1、自定义输出日志

🌷 2、日志级别

2.1 日志级别分类(6种)

2.2 配置日志级别(在.yml文件中设置:)

(1)设置日志整体级别

(2)分目录设置日志级别

🌷3、日志怎么持久化

3.1 设置日志文件名和路径(.yml文件下配置)

 3.2 对日志分割:每隔多少M分割

🌷4、更简单的日志输出-lombok(对1的优化)

🌷5、补充:lombok 更多注解说明


问题1:为什么要学习日志文件?

很简单,代码出Bug了,第一时间肯定是看日志观察报错信息呀~就像去医院看病,不知道是什么病,就先去拍个片子,才能找症状所在。所以日志的作用就是:发现和定位问题。

问题2:目前日志存在的问题?

(1)日志没有持久化(所以要保存在硬盘上)

 ⽇志默认是打印在控制台上的,⽽控制台的⽇志是不能被保存的。

(2)日志没有详细的信息。

 SpringBoot为什么能打印日志,是因为Spring Boot 内置了⽇志框架(不然也输出不了⽇志))

🌷1、自定义输出日志

Logger 对象是属于 org.slf4j 包下的,不要导⼊错包。

 主程序: 

 执行结果:

因为 Spring Boot 中内置了⽇志框架 Slf4j,所以咱们可以直接在程序中调⽤ slf4j 来输出⽇志。。

🌷 2、日志级别

        ⽇志级别可以帮你筛选出重要的信息,⽇志级别可以控制不同环境下,⼀个程序是否需要打印⽇志,如开发环境我们需要很详细的信息,⽽⽣产环境为了保证性能和安全性就会输⼊尽量少的⽇志,⽽通过⽇志的级别就可以实现此需求。

        日志打印过多过少都不适合:过多影响系统性能,过少不利于查找问题。

2.1 日志级别分类(6种)

⽇志的级别分为:

  • trace:微量,少许的意思,级别最低;
  • debug:需要调试时候的关键信息打印;
  • info:普通的打印信息(默认⽇志级别);
  • warn:警告,不影响使⽤,但需要注意的问题;
  • error:错误信息,级别较⾼的错误⽇志信息;(通常需要我们解决)
  • fatal:致命的,因为代码异常导致程序退出执⾏的事件。

设置了 warn 就只能收到 warn、error、fatal 级别的⽇志了。

Spring项目默认的日志级别是info,低于info的不打印,高于info的打印。

2.2 配置日志级别(在.yml文件中设置:

(1)设置日志整体级别

 此时打印结果:只有warn级别以上的。

 (2)分目录设置日志级别

 打印结果:demo2中打印的是debug以上的;root根目录下,在demo1下打印的是warn以上的。

🌷3、日志怎么持久化

以上的⽇志都是输出在控制台上的,然⽽在实际中需要将⽇志保存下来,这个过程就叫做持久化。
日志持久化的解决办法:设置日志的保存路径。

3.1 设置日志文件名和路径(.yml文件下配置)

如果没有日志,就按如下清空缓存后刷新。 

 3.2 对日志分割:每隔多少M分割

因为都是在yml文件下的logging下配置,所以可以将上述信息写在一个logging下。

🌷4、更简单的日志输出-lombok(对1的优化)

 执行结果

 原因:看target下的编译文件:默认名称就是log。

 原因分析:原先的代码编译过程:

 Lombok 的作⽤如下图所示:

🌷5、补充:lombok 更多注解说明

(1)基本注解

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

(2)组合注解:我们前一节写Student类的时候,就用到这个@Data注解来生成get和set方法。

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

(3)⽇志注解@SIF4j : 添加一个名字为log的日志。(见4)


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值