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

SpringBoot ⽇志⽂件

日志

  • 1. 作用
  • 2. 日志的使用
  • 3. 日志的级别
  • 4. 日志的持久化

1. 作用

日志最主要的⽤途就是排除和定位问题。
除了发现和定位问题之外,我们还可以通过⽇志实现以下功能:

  • 记录⽤户登录⽇志,⽅便分析⽤户是正常登录还是恶意破解⽤户。
  • 记录系统的操作⽇志,⽅便数据恢复和定位操作⼈。
  • 记录程序的执⾏时间,⽅便为以后优化程序提供数据⽀持

2. 日志的使用

我们可以通过 LoggerFactory 获取到日志对象

   private static final Logger logger= LoggerFactory.getLogger(TestController.class);

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

然后就可以使用 Logger 为我们提供的方法来打印日志, Logger 为我们提供了很多方法我们先用 info() 为例看一下执行结果:

   public void test() {logger.info("Testing");}

执行结果:
在这里插入图片描述
到这里我们在顺便说一下日志的格式:
在这里插入图片描述
我们可以看到日志为我们提供了很多信息但是我们最主要的关注点还是日志的打印时间和日志信息, 剩下的了解即可.

3. 日志的级别

⽇志的级别分为:

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

在这里插入图片描述
越往上接收到的消息就越少,如设置了 warn 就只能收到 warn、error、fatal 级别的⽇志
Logger 默认的级别是 info, 所以在不改变日志级别的情况下不会打印 trace 和 debug 级别的信息

我们可以在配置文件中配置日志的级别
在这里插入图片描述
此时我们就可以看到日志信息瞬间少了好多:
在这里插入图片描述

root 是全局的配置我们也可以对不同的包进行不同的配置
在这里插入图片描述
我们还可以提供 lombok 这个神奇的插件来帮我们获取 Logger 对象
使用方法就是在类上边加上 @Slf4j这个注释
在这里插入图片描述
它会帮我们自动获取一个名为 log 的 Logger 对象运行代码可以看出和我们上边手动获取对象效果相同
在这里插入图片描述

4. 日志的持久化

我们之前的日志信息都是打印在控制台但是当我们程序重启时就会清空, 所以我们就需要将日志信息持久化保存
日志的持久化有两种方式

  1. 指定保存的路径
    在这里插入图片描述
    当我们执行代码时程序就会自动帮我们生成一个文件
    在这里插入图片描述
    当日志非常多就会占大量内存, 并且在查看时也十分不方便, 所以 Spring 帮我们自动生成的日志文件默认最大为 10MB 超出 10MB 时就会创建一个新的文件.

  2. 指定文件
    在这里插入图片描述
    执行结果:
    在这里插入图片描述

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

相关文章:

  • SpringBoot案例-部门管理-查询
  • Java中处理表格
  • 指静脉开集测试(OpenSet-test)代码(包含7个数据集)
  • okcc对接ASR平台,okcc客户投诉的安全问题
  • JVM中判定对象是否回收的的方法
  • macos 使用vscode 开发python 爬虫(开发二)
  • (已解决)redis.get报错com.alibaba.fastjson.JSONException: autoType is not support
  • 控价可以这样做
  • Spring学习笔记之Spring IoC注解式开发
  • C语言入门教程,C语言学习教程(非常详细)第二章 c语言初探
  • HOT99-下一个排列
  • JAVA基础知识(二)——程序流程控制
  • mysql知识点+面试总结
  • 前端大屏常用的适配方案
  • 技术债 笔记
  • 【Leetcode】102.二叉树的层序遍历
  • 上传文件报413Request EntityToo Large错误解决办法
  • Neo4j之MERGE基础
  • AbstractRoutingDataSource,spring配置多数据源问题
  • 日常BUG—— SpringBoot项目DEBUG模式启动慢、卡死。
  • Linux网络编程(TCP状态转换关系)
  • tauri-vue:快速开发跨平台软件的架子,支持自定义头部UI拖拽移动和窗口阴影效果
  • 做好以下几点,可以让我们延长周末体验感,好好放松!!!
  • Python 学习笔记——代码基础
  • Android Studio 无法正常导入项目
  • Grafana+Prometheus技术文档-进阶使用-监控spring-boot项目
  • PG常用SQL
  • 分模块开发的意义及开发步骤
  • vue-router中的一些 API
  • go-zero 是如何实现令牌桶限流的?