当前位置: 首页 > news >正文

如何使用SpringBoot ⽇志?

Spring Boot自定义日志的打印:

  1. 在一个类中先获取到打印日志对象(日志框架提供的日志对象,而日志框架默认已经集成到Spring Boot里了,springboot默认使用 slf4j+logback);

注意:得到日志对象Logger ->来自于slf4j

2、使用目志对象提供的方法实现目志的打印。

日志的级别:

日志级别越高接收到的消息就越少,且⽇志的输出级别默认是 info。

  1. trace:少许的日志(级别最低)。

  1. debug:调试日志。

  1. info:普通信息日志。

  1. warn:警告日志。

  1. error:错误日志。

6.fatal:致命的日志。系统输出的日志,不能自定义打印。

日志的格式:

日志级别配置:

(application.properties 或application.yml 中)

注意:当存在局部日志级别和全局的日志级别设置时,那么当访问局部日志时,使用的是局部日志级别。也就是局部日志级别优先级大于全局的日志级别。

日志持久化

(将日志永久的保存到磁盘的某个位置):两个方法任选一种即可。

1、在配置文件中设置日志的保存路径,当设置了保存路径之后,那么日志就会自动的进行持久化。

2、在配置文件中设置日志保存的名称,日志会自动进行持久化。

使用lombok可以更简单的实现自定义日志的打印:

1.先安装 Edit Starters 插件,然后重启IDEA(针对IDEA社区版

2.如果当初创建项目的时候没有引入lombok,那么需要在pom.xml引入:

总结:

⽇志是程序中的重要组成部分,使⽤⽇志可以快速的发现和定位问题,Spring Boot 提供了⽇志框架,默认情况下使⽤的是 info ⽇志级别将⽇志输出到控制台的,我们可以通过 lombok 提供的 @Slf4j 注解 和 log 对象快速的打印⾃定义⽇志,⽇志包含 6 个级别:

trace:微量,少许的意思,级别最低;

info:普通的打印信息;

debug:需要调试时候的关键信息打印;

warn:警告,不影响使⽤,但需要注意的问题;

error:错误信息,级别较⾼的错误⽇志信息;

fatal:致命的,因为代码异常导致程序退出执⾏的事件。

⽇志级别依次提升,⽽⽇志界别越⾼,收到的⽇志信息也就越少,我们可以通过配置⽇志的保存名称或保存⽬录来将⽇志永久地保存下来。

lombok 更多注解说明

基本注解

注解

作用

@Getter

⾃动添加 getter ⽅法

@Setter

⾃动添加 setter ⽅法

@ToString

⾃动添加 toString ⽅法

@EqualsAndHashCode

⾃动添加equals和hashCode ⽅法

@NoArgsConstructor

⾃动添加⽆参构造⽅法

@AllArgsConstructor

⾃动添加全属性构造⽅法,顺序按照属性的定义顺序

@NonNull

@RequiredArgsConstructor

属性不能为 null

⾃动添加必需属性的构造⽅法,final + @NonNull 的属性为必需

组合注解

@Data

@Getter + @Setter + @ToString +

@EqualsAndHashCode +

@RequiredArgsConstructor +

@NoArgsConstructor

日志注解

@Slf4j

添加⼀个名为 log 的⽇志,使⽤ slf4j

http://www.lryc.cn/news/24389.html

相关文章:

  • 山东大学数字图像处理实验:MATLAB的图像显示方法
  • Java缓存面试题——Redis解决方案
  • Flink:The generic type parameters of ‘Collector‘ are missing 类型擦除
  • MySQL查询操作
  • Redis-day01-note
  • 嵌入式C基础知识(19)
  • java 2(程序流程控制)【含例题详解】
  • 基于Conda完成创建多版本python环境
  • 35岁的测试被裁,公司地位还不如00后...
  • vue H5跳转小程序报错:config:fail,Error: 系统错误,错误码:63002,invalid signature
  • 来面试阿里测开工程师,HR问我未来3-5年规划,我给HR画个大饼。
  • 【2373. 矩阵中的局部最大值】
  • Read book Netty in action(Chapter VII)--ChannelHandler和ChannelPipeline
  • react的严格模式 和 解决react useEffect执行两次
  • C++中的STL
  • 【沐风老师】3dmax一键窗户生成器插件使用方法详解
  • 【图像处理】数字图像处理基础(分辨率,像素,显示...)
  • UE实现相机飞行效果CesiumForUnreal之DynamicPawn飞行原理浅析
  • AIGC被ChatGPT带火!底层基础算力有望爆发式增长
  • 【链表OJ题(一)】移除链表元素
  • 【解锁技能】学会Python条件语句的终极指南!
  • 如何通过rem实现移动端的适配?
  • 【论文阅读】-姿态识别
  • 3.1 模拟栈+表达式求值
  • 【Python语言基础】——Python 创建表
  • 外贸建站,为什么别人的询盘更多更精准?
  • Gateway集成Netty服务
  • SpringMVC控制层private方法中出现注入的service对象空指针异常
  • 【Unity】P4 脚本文件(基础)
  • (2023版)零基础入门网络安全/Web安全,收藏这一篇就够了