当前位置: 首页 > 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

相关文章:

如何使用SpringBoot ⽇志?

Spring Boot自定义日志的打印:在一个类中先获取到打印日志对象(日志框架提供的日志对象,而日志框架默认已经集成到Spring Boot里了,springboot默认使用 slf4jlogback);注意:得到日志对象Logger ->来自于slf4j2、使用目志对象提…...

山东大学数字图像处理实验:MATLAB的图像显示方法

文章目录MATLAB 学习实验目的实验原理及方法实验内容MATLAB的图像显示方法实验目的实验内容MATLAB 学习 实验目的 了解 MATLAB 的基本功能及操作方法。掌握典型离散信号的 Matlab 产生和显示。 实验原理及方法 在 MATLAB 中, 序列是用矩阵向量表示, 但它没有包含采样信息, …...

Java缓存面试题——Redis解决方案

文章目录1、什么是缓存击穿?该如何解决2、什么是缓存穿透?该如何解决3、什么是缓存雪崩?该如何解决4、什么是BigKey?该如何解决bigkey的危害发现bigkey解决bigkey5、redis过期策略都有哪些?6、讲一讲Redis缓存的数据一…...

Flink:The generic type parameters of ‘Collector‘ are missing 类型擦除

类型擦除问题处理报错日志描述问题描述报错解决其他方法方法一:TypeInformation方法二:TypeHint报错日志描述 报错日志: The generic type parameters of Collector are missing. In many cases lambda methods dont provide enough informa…...

MySQL查询操作

系列文章目录前言一、简单查询SELECT子句SELECT后面之间跟列名DISTINCT,ALL列表达式列更名WHERE子句WHERE子句中可以使用的查询条件比较运算BETWEEN...AND...集合查询:IN模糊查询LIKE空值比较:IS NULL多重条件查询SELECT 的基本结构ORDER BY子句排序聚集…...

Redis-day01-note

Redis-day01-note 文章目录**Redis-day01-note****安装****配置文件详解****数据类型****字符串类型(string)**列表数据类型(List)****与python交互**Redis介绍特点及优点 1、开源的,使用C编写,基于内存且支持持久化 2、高性能的…...

嵌入式C基础知识(19)

时序在前面我们说到当处理器要向外设芯片写数据时,需要先将所需访问的外设的地址放在地址总线上,然后,由译码器将地址总线上的数据转换成片选信号,片选信号则使能目标外设芯片,接下来处理器写数据到数据总线上&#xf…...

java 2(程序流程控制)【含例题详解】

java ——程序流程控制 ✍作者:电子科大不知名程序员 🌲专栏:java学习指导 各位读者如果觉得博主写的不错,请诸位多多支持;如果有错误的地方,欢迎在评论区指出 目录java ——程序流程控制分支结构if-elsesw…...

基于Conda完成创建多版本python环境

文章目录基于Conda完成创建多版本python环境基于Conda完成创建多版本python环境 通过cmd打开conda环境 d:\ProgramData\Anaconda3\Scripts\activate创建python3.7的环境 conda create -n py3.7 python3.7产生错误 Collecting package metadata (repodata.json): failed Unav…...

35岁的测试被裁,公司地位还不如00后...

国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过35岁的基层研发类员工,往往因为家庭原因、身体原因,比较难以跟得上工作…...

vue H5跳转小程序报错:config:fail,Error: 系统错误,错误码:63002,invalid signature

微信开发者工具下载地址与更新日志 错误码:63002,invalid signature 无效的签名 附录5 微信网页开发 /JS-SDK说明文档 微信 JS 接口签名校验工具 全局返回码说明 ​ 排查步骤 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sand…...

来面试阿里测开工程师,HR问我未来3-5年规划,我给HR画个大饼。

在面试的过程中是不是经常被面试官问未来几年的职业规划?你会答吗?是不是经常脑袋里一片空白,未来规划?我只是想赚更多的钱啊,哈哈哈,今天我来教大家,如何给面试官画一个大饼,让他吃的不亦乐乎…...

【2373. 矩阵中的局部最大值】

来源:力扣(LeetCode) 描述: 给你一个大小为 n x n 的整数矩阵 grid 。 生成一个大小为 (n - 2) x (n - 2) 的整数矩阵 maxLocal ,并满足: maxLocal[i][j] 等于 grid 中以 i 1 行和 j 1 列为中心的 3 …...

Read book Netty in action(Chapter VII)--ChannelHandler和ChannelPipeline

序言 我们曾经学过了ByteBuf – netty的数据容器,还有ChannelHandler和ChannelPipeline,这一把将他们组合起来,这些组件的交互正是Netty的灵魂所在! ChannelHanlder家族 在详细地学习ChannelHanlder之前,我们将在Ne…...

react的严格模式 和 解决react useEffect执行两次

useEffect执行两次 这个问题,主要是刚接触react的时候发的问题,当时也没总结。现在回过头来再总结一次!!! 文章目录useEffect执行两次前言一、为什么useEffect执行两次1.React的严格模式(模版创建项目&…...

C++中的STL

一、概念 STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。 STL 最初由惠普实验室…...

【沐风老师】3dmax一键窗户生成器插件使用方法详解

3dmax一键窗户生成器插件教程 3dMax一键窗户生成器是一个在3dMax中自动创建3D窗户模型的脚本。它有28种风格的窗户样式,可以在Archviz项目中灵活应用,同时为3D艺术家节省大量时间。 【适用版本】 适用3dMax 2018.2及更高版本 【安装方法】 1.解压缩包&…...

【图像处理】数字图像处理基础(分辨率,像素,显示...)

Table of Contents1.数字图像处理基础1.1 图像表示1.1.1 图像成像模型1.1.2 数字图像的表示a.图像采样b.图像灰度的量化c.算比特数1.2 分辨率1.2.1 空间分辨率1.2.2 灰度分辨率1.3 像素间的关系1.3.1 像素邻域a.4邻域b.4对角邻域c.8邻域1.3.2 像素邻接1.3.3 像素连通1.3.4 像素…...

UE实现相机飞行效果CesiumForUnreal之DynamicPawn飞行原理浅析

文章目录 1.实现目标2.实现过程2.1 FlyTo实现原理与代码2.2 DynamicPawn飞行原理3.参考资料1.实现目标 基于CesiumForUnreal的Dynamic Pawn实现飞行效果GIF动图: 2.实现过程 实现原理较为简单,基于CesiumForUnreal插件中DynamicPawn中的Camera实现相关功能。其中FlyTo直接通…...

AIGC被ChatGPT带火!底层基础算力有望爆发式增长

ChatGPT火爆全球的背后,可以窥见伴随人工智能技术的发展,数字内容的生产方式向着更加高效迈进。ChatGPT属于AIGC的具体应用,而AIGC是技术驱动的数字内容新生产方式。AIGC类产品未来有望成为5G时代新的流量入口,率先受益的有望是AI…...

【链表OJ题(一)】移除链表元素

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录链表OJ题(一)1. 移除…...

【解锁技能】学会Python条件语句的终极指南!

文章目录前言一. python条件语句的介绍1.1 什么是条件语句1.2 条件语句的语法1.3 关于内置函数bool()二. 分支语句之单分支三. 多分支语句3.1 二分支语句3.2 多分支语句3.3 嵌套循环总结前言 🏠个人主页:欢迎访问 沐风晓月的博客 🧑个人简介&…...

如何通过rem实现移动端的适配?

一、rem、em、vw\vh的区别&#xff1a; rem&#xff1a;参照HTML根元素的font-size em&#xff1a;参照自己的font-size vw/vh&#xff1a;将视口宽高平分100等份&#xff0c;数值就是所占比例 <!DOCTYPE html> <html lang"en"><head><meta…...

【论文阅读】-姿态识别

记录论文阅读&#xff0c;希望能了解我方向的邻域前沿吧 粗读 第一篇 ATTEND TO WHO YOU ARE: SUPERVISING SELF-ATTENTION FOR KEYPOINT DETECTION AND INSTANCE-AWARE ASSOCIATION 翻译&#xff1a;https://editor.csdn.net/md?not_checkout1&spm1001.2014.3001.5352…...

3.1 模拟栈+表达式求值

模拟栈 题目链接 栈的数组模拟非常简单&#xff0c;不详细描述 设置一个指针指向栈顶第一个元素即可 STL中stack实现已经更新在STL_Stack #include<iostream> #include<string>using namespace std;const int N1e51; int m; string s; int stack[N]; int p;//指针…...

【Python语言基础】——Python 创建表

Python语言基础——Python 创建表 文章目录 Python语言基础——Python 创建表一、Python 创建表一、Python 创建表 创建表 如需在 MySQL 中创建表,请使用 “CREATE TABLE” 语句。 请确保在创建连接时定义数据库的名称。 实例 创建表 “customers”: import mysql.connector…...

外贸建站,为什么别人的询盘更多更精准?

大多企业进行外贸建站的目的就是想要获得更多的精准询盘&#xff0c;但是具体该如何做&#xff0c;大多企业都没有方向&#xff0c;要么就是在网上看各种不系统的文章学着操作&#xff0c;要么就找个建站公司做好网站就不管了&#xff0c;而最终结果都不甚理想。那么怎样才能让…...

Gateway集成Netty服务

Gateway和Netty都有盲区的感觉&#xff1b; 一、Netty简介 Netty是一个异步的&#xff0c;事件驱动的网络应用框架&#xff0c;用以快速开发高可靠、高性能的网络应用程序。 传输服务&#xff1a;提供网络传输能力的管理&#xff1b; 协议支持&#xff1a;支持常见的数据传输…...

SpringMVC控制层private方法中出现注入的service对象空指针异常

一、现象 SpringMVC中controller里的private接口中注入的service层的bean为null&#xff0c;而同一个controller中访问修饰符为public和protected的方法不会出现这样的问题。 controller中的方法被AOP进行了代理&#xff0c;普通Controller如果没有AOP&#xff0c;private方法…...

【Unity】P4 脚本文件(基础)

Unity脚本文件&#xff08;基础&#xff09;适配的C#代码编辑器如何添加一个脚本文件获取蘑菇当前位置基础代码改变物体位置帧与帧更新前言 上一篇博文主要围绕Unity Inspector部分&#xff0c;围绕组件&#xff0c;资源文件&#xff0c;父子节点部分做介绍。 链接&#xff1a;…...

做笑话网站赚钱吗/友情链接购买网站

欢迎来到containerd的v1.1.6版本&#xff01; 这是containerd 1.1版本的第六个补丁版本。这个发布专门跟新了runc以修复CVE-2019-5736容器逃逸漏洞。几个CRI修复也包括在内此版本并列在下面。 运行引擎 Update runc to 6635b4f0c6af3810594d2770f662f34ddc15b40d to fix CVE-20…...

阿里云做网站可以免备案吗/seo综合查询工具有什么功能

2019独角兽企业重金招聘Python工程师标准>>> 一&#xff0c;支付清算体系的简介 支付清算体系是一个国家的金融基础设施&#xff0c;或说公共服务。我国由央行主管此事&#xff0c;目前大体维持“结算-清算”二级制的支付体系。通俗地讲&#xff0c;银行与商户、消费…...

网站关停公告怎么做/百度竞价排名魏则西事件分析

2019独角兽企业重金招聘Python工程师标准>>> ie7和ff默认是支持max-height,但是ie6、Chrome不支持该写法,如果让让max-height在ie6,Chrome都兼容呢,需要写上&#xff1a; 1、最小高度 min-height : 200px; _height&#xff1a;expression_r(this.scrollHeight < …...

网络营销的特点和职能/seo教育培训机构

原标题&#xff1a;Python对CSV文件的处理 在接口自动化测试中&#xff0c;把测试的数据存储到csv的文件也是一种很不错的选择&#xff0c;下面就详细的介绍如何实现CSV文件内容的读取和如何把数据写入到CSV的文件中。在Python中&#xff0c;读取csv文件使用到的标准库是csv&am…...

网站建设里面包含什么语言/杯子软文营销300字

项目地址&#xff1a;https://github.com/jrainlau/mog 在线体验&#xff1a; 点击预览http://codepen.io/jrainlau/pe... 点击预览 https://segmentfault.com/a/1190000007443611作为一个前端开发者&#xff0c;曾踩了太多的“数据绑定”的坑。在早些时候&#xff0c;都是通过…...

网站建设中 敬请期待 源码/今天最新的新闻头条

在过去的几年里&#xff0c;在移动设备上浏览网页已变得难以置信的受欢迎。 但是这些设备上的浏览体验&#xff0c;有时遗留很多的有待改进。当涉及到填写表单时&#xff0c;这一点尤为明显。幸运的是&#xff0c;HTML5规范引入了许多新input类型&#xff0c;使得在移动设备上&…...