springBoot 日志

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.rhkb.cn/news/163354.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UML软件哪个好?10款好用的UML工具和画图软件推荐!

UML(统一建模语言)图在处理复杂项目时,如软件开发、系统设计、业务流程分析或系统架构等,能够发挥巨大作用。 UML作为项目的通用蓝图,可以告知团队成员关于需要构建什么,它应该如何运作,以及不…

数据结构和算法(13):优先级队列

概述 按照事先约定的优先级,可以始终高效查找并访问优先级最高数据项的数据结构,也统称作优先级队列 优先级队列将操作对象限定于当前的全局极值者。 根据数据对象之间相对优先级对其进行访问的方式,与此前的访问方式有着本质区别&#xf…

springBoot--web--静态资源规则

规则一: 访问:/webjars/** 路径就去 classpath:/META-INF/resources/webjars/下载资源 a.maven导入依赖 规则二: 访问:/** 路径就去 静态资源默认的四个位置找资源 a. classpath:/META-INF/resources/ b.classpath:/resourc…

【UE5】 ListView使用DataTable数据的蓝图方法

【UE5】 ListView使用DataTable数据的蓝图方法 ListView 是虚幻引擎中的一种用户界面控件,用于显示可滚动的列表。它可以用于显示大量的数据,并提供了各种功能和自定义选项来满足不同的需求。 DataTable是虚幻引擎中的一种数据表格结构,用于存…

Flink学习笔记(三):Flink四种执行图

文章目录 1、Graph 的概念2、Graph 的演变过程2.1、StreamGraph (数据流图)2.2、JobGraph (作业图)2.3、ExecutionGraph (执行图)2.4、Physical Graph (物理图) 1、Graph 的概念 Flink 中的执行图可以分成四层:StreamGraph -> JobGraph -> ExecutionGraph -&g…

1811_spacemacs从v.0.200.13升级到v.0.200.14的几点变化感受

全部学习汇总: GreyZhang/editors_skills: Summary for some common editor skills I used. (github.com) 安装了全新的spacemacs的配置,查看了一下版本是v.0.200.14。在此之前,我使用的版本是v.0.200.13。现在还没有在这个配置上完成我所有的…

[opencv]图像和特征点旋转

本来说这是很简单的一个内容,图像旋转只需要使用opencv中自带的旋转函数即可完成,但是最近在做特征点旋转的时候发现使用内置rotate函数给图像旋转90度,再用getRotationMatrix2D得出的旋转矩阵对特征点旋转,画出来的特征点位置全部…

Nginx+keepalived 高可用双机热备—双主模式

双机高可用方法目前分为两种: 1)Nginxkeepalived 双机主从模式:即前端使用两台服务器,一台主服务器和一台热备服务器,正常情况下,主服务器绑定一个公网虚拟IP,提供负载均衡服务,热备…

中文编程工具开发软件实际案例:酒店饭店餐饮点餐管理系统软件编程实例

中文编程工具开发软件实际案例:酒店饭店餐饮点餐管理系统软件编程实例图片如下 软件的安装方法: 软件绿色免安装,压缩包文件解压后,将文件夹复制到电脑的D或E盘里,将软件目录下的红色程序图标按右键发送到桌面快捷方式…

Pinia学习-存储数据、修改数据以及持久化实现

Pinia是什么? Pinia 是 Vue 的存储库,实现全局变量的定义 这里定义的变量信息,任何页面都可以使用,代替原来的VueX 官网:https://pinia.web3doc.top/ 4.2 Pinia存储数据 4.2.1获取存储数据 实现步骤:…

ubuntu 20.04 使用systemback自定义系统镜像和系统备份

ubuntu 20.04 使用systemback自定义系统镜像和系统备份 Systemback简介1. 安装 systemback16.0418.04 查看 2. 使用 systemback创建自定义镜像制作镜像制作中制作完成将镜像写入U盘 Systemback简介 Systemback是一个简单的系统备份和恢复应用程序,根据GPLv3许可条款…

工业企业网络推广解决方案 | 网络营销专家分享 | 上海添力

在国内,工业企业如果想在线上做推广,其主要途径就是做搜索引擎推广,在几个常用的搜索引擎(百度、360、搜狗、必应)中,一般都是从百度开始做起。但不少工厂做百度广告,钱花了不少,就是…

iOS上架App Store的全攻略

​ 第一步:申请开发者账号 在开始将应用上架到App Store之前,你需要申请一个开发者账号。 1.1 打开苹果开发者中心网站:Apple Developer 1.2 使用Apple ID和密码登录(如果没有账号则需要注册),要确保使用…

AWS Lambda – 函数版本,别名,API网关,CodeDeploy协同

Hello大家好,我们今天继续讨论AWS Lambda的内容。 Lambda函数的版本 Lambda函数的版本和别名是辅助资源,我们可以通过创建这些资源管理函数的部署和调用。 首先,让我们来看一下Lambda 函数版本的概念。您可以使用版本来管理函数的部署。例…

Win10系统开机启动文件夹在哪里找?

Win10系统开机启动文件夹在哪里找?Win10系统开机启动文件夹是一个非常重要的目录,它决定了电脑在开机的时候,会有哪些应用程序是自动启动。但是,很多新手用户不知道Win10电脑内开机启动文件夹的具体位置,下面小编介绍开…

paddlenlp:社交网络中多模态虚假媒体内容核查(特征篇)

初赛之特征构造 写在前面一、安装paddleOCR二、代码部分三、模型优缺点四、写在最后 写在前面 通过前面两篇文章的介绍,我们可以大致的知道模型用到的特征分为四块:qCap,qImg,captions,imgs。根据这些特征&#xff0c…

人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍,随着人工智能和深度学习技术的飞速发展,文本到视频生成已经成为计算机视觉领域中一个重…

pragma once与ifndef的区别

概要 代码编译过程中,为了防止同一份代码被重复引用,通常有两种实现方式 方式一 #pragma once 方式二 #ifndef _TEST_H_ #define _TEST_H_ #endif // !TEST_H 通常情况下,使用上述两种方式中的任意一种都是可以的。最近工作中,代…

055:mapboxGL中加载geojson,导出为CSV格式文件

vue+mapbox 第055个 点击查看专栏目录 本示例介绍演示如何在vue+mapbox中加载geojson,导出为CSV格式文件。 通过一个插件,将geojson转化为csv,同时通过file-saver将文件下载下来。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果导出后的…

智能电表的功率计算方式是一样的吗?

随着科技的发展,智能电表已经成为了家庭和企业用电的必备设备。智能电表不仅可以实现用电量的监测和控制,还可以对用电负荷进行管理和优化。在智能电表的使用过程中,功率计算是一个重要的环节。那么,智能电表的功率计算方式是一样…