springBoot 日志

news2025/1/15 19:49:52

springBoot 日志

  • 整合原理
  • 日志格式
    • 默认日志格式
    • 在配置文件中修改日志格式
  • 在业务中写日志
  • 日志级别
  • 日志分组
  • 文件输出
  • 归档和切割
    • 归档
    • 切割
  • 自定以日志系统
    • 切换默认日志场景 log4j2的使用
  • 最佳实战

整合原理

规范:项目开发中不要编写:System.out.printIn(),应该用日志记录信息
在这里插入图片描述
1、spring使用commons-logging作为内部日志,但底层日志实现是开放的,可对接其他日志框架
2、支持jul,log4j,logback,springBoot提供了默认的控制台输出配置,也可以配置输出为文件
3、logback是默认使用的
4、虽然日志框架很多,但是我们不用担心,使用springBoot的默认配置就能工作的很好

springBoot 日志是如何配置好的
1、每个starter场景,都会导入一个核心场景spring-boot-starter
2、核心场景引用了日志所有功能spring-boot-logging
3、默认使用了logback+slf4j组合作为默认底层日志
4、日志是系统已启动就要用的,xxxautoconfiguration是系统启动好了以后放好的组件,后来用的
5、日志是利用监听机制配置好的,appLicationlistener
6、日志所有的配置都可以通过修改配置文件实现,以logging开始的所有配置

日志格式

默认日志格式

在这里插入图片描述

在配置文件中修改日志格式

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

在业务中写日志

在这里插入图片描述

package com.atguigu.boot.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author jitwxs
 * @date 2023年10月17日 19:59
 */
@RestController
public class Hellower {
    Logger logger = LoggerFactory.getLogger(getClass());
    @GetMapping("/h")
    public String hello(){
        logger.info("hahahaha");
        return "hello";
    }
}

在调用接口的时候就会返回日志
在这里插入图片描述

日志级别

由高到低:All,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF
只会打印指定级别及以上级别的日志
All:打印所有的日志
TRACE:追踪框架详细流程日志,一般不适用
DEBUG:开发调试细节日志
INFO:关键,感兴趣信息日志
WARN:警告但不是错误的信息日志 比如:版本过失
ERROR:业务错误日志,比如出现各种异常
FATAL:致命错误日志,比如jvm系统崩溃
OFF:关闭所有日志

不指定级别的所有类,都是用root指定的级别作为默认级别
springBoot日志默认级别是INFO
1、在application.properties/Yaml中配置logging.level=指定日志级别
2、level可取值范围:TRACE,DEBUG,INFO,WARN,ERROR,FATAL,Or OFF,定义在logLEVEL类中
3、root的logger-name叫root,可以配置logging.level.root=warn,代表所有未指定日志级别都是用root的warn级别
在这里插入图片描述
在配置文件中调整日志级别,日志级别默认是info
在这里插入图片描述

日志传递参数
在这里插入图片描述
在这里插入图片描述

日志分组

在这里插入图片描述

#日志分组
logging.group.abc=com.atguigu.boot.controller,com.atguigu.boot.controller.service,com.aaa,com.bbb
logging.level.abc = debug
logging.level.sql = debug

文件输出

#指定日志文件名
#1、只写名字,就生成到当前项目同位置的demo.log
#2、写名字+路径:生成到指定位置的指定文件

logging.file.name=haha.log

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

如果path和name同时存在都会生成
在这里插入图片描述

在这里插入图片描述

归档和切割

在这里插入图片描述

归档

每天的日志单独存到一个文件中

切割

每个文件10MB,超过大小切割成另外一个文件
在这里插入图片描述

#归档分割
logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz
#超过1MB进行分割
logging.logback.rollingpolicy.max-file-size= 1MB

自定以日志系统

在这里插入图片描述

springBoot 默认使用的是logback的日志
在这里插入图片描述
在这里插入图片描述

切换默认日志场景 log4j2的使用

禁用原来的日志导入新的日志
在这里插入图片描述

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

最佳实战

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1104758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

缓解Oracles数据库内存不足的问题

解决思路,调整内存参数; 安装Oracle时,为了均衡电脑性能和数据库性能,Oracle一个实例默认内存占用大小为物理内存的1/8。 如环境不需要分配那么大的内存来支撑Oracle,可通过修改 sga_max_size 的值来减少系统中内存占…

强化学习 | 强化学习基础知识(图解)

强化学习是机器学习的一个领域。它是关于在特定情况下采取适当的行动来最大化奖励。它被各种软件和机器用来找到在特定情况下应该采取的最佳行为或路径。强化学习与监督学习的不同之处在于,在监督学习中,训练数据具有答案键,因此模型本身使用…

最全数据安全评估标准汇编,你应该需要!(附下载)

《数据安全法》提到“重要数据的处理者应当按照规定对其数据处理活动定期开展风险评估,并向有关主管部门报送风险评估报告”。 《个人信息保护法》提到“关键信息基础设施运营者和处理个人信息达到国家网信部门规定数量的个人信息处理者,应当将在中华人民…

使用i18n Ayll在项目中也能显示中文

1、安装插件:i18n Ayll 2、在项目根目录创建.vsoce文件夹,再创建settings.json文件,把下方代码复制进去 {"i18n-ally.localesPaths": "src/lang","i18n-ally.enabledParsers": ["js", "json&…

虾皮印尼买家号如何注册

虾皮(Shopee)是一个流行的电子商务平台,想要注册虾皮印尼买家号,可以按照以下步骤进行操作: 1、访问虾皮印尼站点:打开浏览器,输入虾皮印尼官网 2、点击"注册":在网站的…

多测师肖sir_高级金牌讲师___python之json模块

python之json模块 python标准模块之json 定义:json (java script object notation)是轻量级的文本数据交换格式 案例json: json和字典 一样 一、json模块可以实现json数据的序列化和反序列化 (1)序列化…

高效协同: 打造分布式系统的三种模式

在构建分布式系统时,分布式协调是否总是必要选项?本文通过一些实际的例子讨论了这一问题,并通过把问题区分为是否具有单调性做为是否需要分布式协调的标准。原文: Avoiding Coordination Cost: Three Patterns for Building Efficient Distri…

Win10打开软件任务栏不显示图标的解决方法

在Win10电脑中,用户点击打开某个软件,却发现这个软件图标不显示在任务栏上。这样用户就无法通过任务栏点击图标,来完成软件的切换了,接下来小编给大家带来两种简单且有效的解决方法,解决后用户再去打开软件&#xff0c…

Postman测试 restful 接口!

日常开发中经常会遇到没有前提界面,直接调用后台 restful 接口的情景,不管时后台代码先行,并且开发完之后开发人员进行自测还是,或者是专业测试进行 restful 接口测试,都需要一款工具,现在就来介绍 postman…

液压泵马达试验台比例阀控制器

添加图片注释,不超过 140 字(可选) 液压泵马达试验台主要应用于液压元件性能测试、故障诊断、产品研发等领域。 液压泵马达试验台主要功能包括排量验证试验、容积效率试验、总效率试验、变量特性试验、超载试验、冲击性能试验、启动效率试验…

ES|QL:Elasticsearch的 新一代查询语言

作者:李捷 “学会选择很难。学会正确选择更难。而在一个充满无限可能的世界里学会正确选择则更难,也许是太难了。” 巴里-施瓦茨(Barry Schwartz)在《选择的悖论--多就是少》(The Paradox of Choice -More is Less&…

星环科技向量数据库Transwarp Hippo1.1发布:一库搞定向量+全文联合检索,提升大模型准确率

星环科技向量数据库Transwarp Hippo自发布已来,受到了众多用户的欢迎,帮助用户实现向量数据的存储、管理和检索,探索和实践大模型场景。在与用户不断地深入交流以及实践中,Hippo迎来了V1.1版本,一套系统即可支持向量与全文联合检索,提高文本数据的召回精度,从而提升大语…

VSCode修改扩展和用户文件夹目录位置(Windows)

VSCode修改扩展和用户文件夹目录位置(Windows) 前言:方法前期准备:方法1(强推荐)方法2(不太推荐)方法3(好麻烦,不太推荐) 前言: VSCod…

冒泡排序和简答选择排序

冒泡排序 一种典型的交换排序 类似水冒泡&#xff0c;大元素经不断的交换由水底慢慢的浮出 从头到尾&#xff0c;循环比较两相邻的元素 大的元素移到后面&#xff0c;小的放前面-每次循环&#xff0c;大的元素会排到最后 代码如下&#xff1a; #include<stdio.h> …

lvm删除分区、扩容分区

删除分区 查询分区信息 lsblk删除home盘 解除home文件挂载 unount /home // 查询挂载情况 mount -l | grep home 删除分区 //删除逻辑区 lvdisplay lvremove /dev/centos/home// 扩容root lvdisplay lvextend -l 100%FREE /dev/centos/root // 更新磁盘 根据文件系统类型…

推动产业升级及创新,Doris Summit Asia 2023 先进智造与电信论坛提前揭秘

峰会官网已上线&#xff0c;最新议程请关注&#xff1a;doris-summit.org.cn 即刻报名 Doris Summit 是 Apache Doris 社区一年一度的技术盛会&#xff0c;由飞轮科技联合 Apache Doris 社区的众多开发者、企业用户和合作伙伴共同发起&#xff0c;专注于传播推广开源 OLAP 与…

化妆品斑贴测试HRIPT/RIPT

HRIPT/RIPT测试是一种针对人类皮肤的安全性评估测试&#xff0c;它可以检测潜在的皮肤刺激和过敏物质。这项测试是根据国际标准制定的&#xff0c;通过将化妆品样品涂抹在人体皮肤上&#xff0c;观察是否会引发不适或过敏反应来评估产品的安全性。这些测试通常由专业的实验室进…

玩转MaxCompute SQL训练营! 数据分析挖掘迅速出师

用MaxCompute在数据里面挖呀挖呀挖&#xff0c;写花样的sql分析花样的数据&#xff01;云原生大数据计算服务 MaxCompute 是企业级Serverless智能数仓&#xff0c;向用户提供了完善的数据导入方案以及多种经典的分布式计算模型&#xff0c;能够更快速的解决用户海量数据计算问题…

门店经理视角下的零售数据分析分享

门店经理视角下的零售数据分析是怎样的&#xff1f;是以提升销售额和客户满意度为目标&#xff0c;通过数据分析工具对门店的运营情况进行分析和优化。那&#xff0c;作为主要载体的零售数据分析报表又该怎么做&#xff1f; 站在门店经理的立场看&#xff0c;门店的零售数据分…

IDEA如何设置项目包名分级

按上面的勾选即可&#xff01;