[spring]springboot日志

news/2024/11/17 6:48:59/

文章目录

  • 一. 日志的用途
  • 二. 打印日志
  • 三. 日志框架
    • 门面模式(外观模式)
    • SLF4J框架介绍
  • 四. 日志格式
    • 日志级别
    • 配置日志级别
    • 日志持久化
    • 配置日志文件分割
    • 配置日志格式
  • 五. 更简单的日志输出

一. 日志的用途

在这里插入图片描述
在这里插入图片描述

二. 打印日志

得到日志对象:
需要使用日志工厂LoggerFactory

java">@RestController
public class LoggerController {private static Logger logger = LoggerFactory.getLogger(LoggerController.class);

注意:Logger 对象是属于 org.slf4j 包下的

打印日志:
使用info()

java">    @RequestMapping("/logger")public String logger(){logger.info("---------打印日志---------");return "打印日志";}
}

在这里插入图片描述

三. 日志框架

在这里插入图片描述
SLF4J不同于其他⽇志框架, 它不是⼀个真正的⽇志实现, ⽽是⼀个抽象层, 对⽇志框架制定的⼀种规范,
标准, 接⼝. 所有SLF4J并不能独⽴使⽤, 需要和具体的⽇志框架配合使⽤

门面模式(外观模式)

SLF4J是⻔⾯模式的典型应⽤

⻔⾯模式定义
⻔⾯模式(Facade Pattern)⼜称为外观模式, 提供了⼀个统⼀的接⼝, ⽤来访问⼦系统中的⼀群接⼝, 其主要特征是定义了⼀个⾼层接⼝, 让⼦系统更容易使⽤
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SLF4J框架介绍

SLF4J 就是其他⽇志框架的⻔⾯. SLF4J 可以理解为是提供⽇志服务的统⼀API接⼝, 并不涉及到具体的
⽇志逻辑实现

不引入日志门面:
在这里插入图片描述
在这里插入图片描述
引入日志门面:
在这里插入图片描述

四. 日志格式

在这里插入图片描述
在这里插入图片描述

日志级别

⽇志级别代表着⽇志信息对应问题的严重性, 为了更快的筛选符合⽬标的⽇志信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
结果发现, 只打印了info, warn和error级别的⽇志
这与⽇志级别的配置有关, ⽇志的输出级别默认是 info级别, 所以只会打印⼤于等于此级别的⽇志, 也就
是info, warn和error

配置日志级别

想要修改日志级别默认, 就需要进行配置日志级别

在这里插入图片描述
在这里插入图片描述
此时, 就把默认日志级别改成debug, 那么只会打印大于debug级别的日志
在这里插入图片描述
可以只修改某个类的日志级别
在这里插入图片描述

日志持久化

以上的⽇志都是输出在控制台上的, 然⽽在线上环境中, 我们需要把⽇志保存下来, 以便出现问题之后追溯问题. 把⽇志保存下来就叫持久化
日志持久化有两种方式:
在这里插入图片描述
**配置日志文件路径: **
在这里插入图片描述
在这里插入图片描述
默认文件名为spring.log, path不能设置文件名
配置日志文件名:
在这里插入图片描述
在这里插入图片描述
在这个文件中就保存着所有运行时候产生的日志
在这里插入图片描述
在name中可以设置绝对路径或相对路径
当name和path都存在时, 只有name生效

配置日志文件分割

如果我们的⽇志都放在⼀个⽂件中, 随着项⽬的运⾏, ⽇志⽂件会越来越⼤, 需要对⽇志⽂件进⾏分割
当然, ⽇志框架也帮我们考虑到了这⼀点, 所以如果不进⾏配置, 就⾛⾃动配置
默认⽇志⽂件超过10M就进⾏分割
在这里插入图片描述

那么我们也可以手动配置
在这里插入图片描述
日志文件超过1KB就分割
分割之后的日志文件名为: 日志名.日期.索引
在这里插入图片描述

配置日志格式

日志默认的打印格式是这样的
在这里插入图片描述

配置让idea支持控制台颜色显示:
在这里插入图片描述
添加: -Dspring.output.ansi.enabled=ALWAYS
在这里插入图片描述
在这里插入图片描述
我们也可以进行手动配置日志格式
在这里插入图片描述

  pattern:console: '%d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] %m%n'file: '%d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] %m%n'

在这里插入图片描述
在这里插入图片描述

五. 更简单的日志输出

每次都使⽤LoggerFactory.getLogger(xxx.class) 很繁琐,且每个类都添加⼀遍, lombok给我们提供了⼀种更简单的⽅式

  1. 添加lombok框架⽀持
  2. 使⽤ @slf4j 注解输出⽇志

在这里插入图片描述
在这里插入图片描述
lombok提供的 @Slf4j 会帮我们提供⼀个⽇志对象log,我们直接使⽤就可以


http://www.ppmy.cn/news/1531255.html

相关文章

实验室ICPR 2024论文分享┆FPMT: 基于增强型半监督模型的交通事件检测(含详细视频解读)

目录 论文分享简介 1. 会议介绍 2. 研究背景及主要贡献 3. 方法 4. 实验 5. 结论 6. 论文介绍视频 论文分享简介 本推文详细介绍了一篇实验室的最新论文成果《FPMT: Enhanced Semi-Supervised Model for Traffic Incident Detection》,该论文已被第27届国际…

昇腾AI异构计算架构CANN——高效使能AI原生创新

异构计算与人工智能的关系是什么?昇腾AI异构计算架构CANN是什么?有哪些主要特点?开发者如何利用CANN的原生能力进行大模型创新,构筑差异化竞争力?带着这些问题,我们来认识昇腾AI异构计算架构——CANN。 1 …

Java项目实战II基于Java+Spring Boot+MySQL的车辆管理系统(开发文档+源码+数据库)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 "随着…

微服务——配置管理

1.配置管理 微服务配置管理是指对微服务架构中各个服务的配置信息进行管理、更新、查询和审计等操作,以确保系统的正常运行和高效管理。例如,网关路由或某些业务配置在配置文件中写死了,每次修改都要重启服务。每个微服务都有很多重复的配置&…

集成电路测试人才培养主题研讨会圆满举行

9月26日,由杭州集成电路创新中心主办的“集成电路测试人才培养主题研讨会”在人工智能小镇圆满召开。本次研讨会汇聚了政府领导、行业协会专家、企业精英及教育学者,共同探讨集成电路测试产业的发展趋势与人才培养新路径。 研讨会以“聚焦‘芯’人才&…

传奇微端黑屏不更新地图?传奇微端架设教程——GOM引擎

登录器和网站配置好后,我们进入游戏后会发现是黑屏的,更新不了地图和NPC这些,因为还没有做微端,会黑屏也是正常的。有些老G做了微端但是还是黑屏,就可能是你的微端架设出现了问题,可以参考以下教程。 gom引…

如何将很多个pdf拼接在一起?很多种PDF拼接的方法

如何将很多个pdf拼接在一起?将多个PDF文件合并不仅能够提升信息的整合性,还能使文件管理更加高效。想象一下,你需要向同事或老师提交一份综合报告,其中包含了多份相关资料。如果每个文件单独存在,查找和传输都会变得繁…

ArcGIS Desktop使用入门(三)常用工具条——拓扑(上篇:地图拓扑)

系列文章目录 ArcGIS Desktop使用入门(一)软件初认识 ArcGIS Desktop使用入门(二)常用工具条——标准工具 ArcGIS Desktop使用入门(二)常用工具条——编辑器 ArcGIS Desktop使用入门(二&#x…