java Spring Boot日志输出格式配置方法

news2025/1/10 23:52:09

前面 我们文章中 我们已经能把日志控制住了
但前面这些信息 又是什么呢?
在这里插入图片描述
如果不了解日志 看起来是挺痛苦的

其实 我们可以将日志分为 一下几个部分去读它
在这里插入图片描述
首先是这个日志的输出时间 是在什么时候发生的
然后是 日志的基本 之前我们也讲过 有信息 报错 警告等
然后是 pid 这个我们现在可能还没什么感觉 但当以后 许多服务器一起跑一个程序时 日志的pid可以帮你定位是哪个服务器输出的日志 不然就太混乱了
然后是所属线程 然后是 日志输出的类名/接口 告诉你是那个类输出的 这个的话 如果你的类名和前面的包名特别长 它会简化 例如 将前面的包都改成一个字母
然后 最后 就是我们自己在日志中输入的信息了

当然 如果我们不想这样操作 那也必须OK啊
这个是可以设置的
这里 我们打开项目的配置文件 application.yml 其他两种格式的语法也差不多 改个格式就好
在这里插入图片描述
我们可以现在下面 加上如下代码

logging:
  pattern:
    console: "%d - %m %n"

在这里插入图片描述
这里 我们 d 是时间 m是信息 然后 n是换行 如果不加这个 百分号n 所有日志就都在同一行了 那根本没法看
然后 我们运行项目

可以看到 我们的日志变得简单了很多
就时间 然后就是 日志信息 n帮助他们完成了换行
在这里插入图片描述
首先 我们先这样 每次 %p 是等级
但我们会发现颜色没了
在这里插入图片描述
其实这是 其中的一个特性 %clr 这个属性 用在支持彩色的日志内容上 就可以了
在这里插入图片描述
这样 我们日志颜色就上去了

然后 pid的占位符 就比较特殊了 是 ${PID:-}
在这里插入图片描述
但是 这里显然 我们绑定了 clr 但颜色似乎不太对 这里我们需要设置一下
我们将代码改成

# 设置日志的模板格式
logging:
  pattern:
    console: "%d %clr(%p) %clr(${PID:-}){magenta} %n"

在后面加上颜色设置 {magenta}
这样看着就差不多了
在这里插入图片描述
然后 后面是 三个减号 直接打上去就好了
在这里插入图片描述
然后 后面是 中括号 中间输出 线程名 首先 线程名 是 %t
我们可以这样写
直接自己写中括号 里面放个 %t
在这里插入图片描述
但是 这个宽度明显是不太一样呀
我们又涉及一个新的知识点 占位 这个位置 是 16位
直接 百分号 位数 标识符 这里标识符是 t
指定这个位置 不管有多少字 一定要占到 16个字的位置
在这里插入图片描述
然后 到我们的类名了
这个类名是青色的 占位 40 占位符是 %40c
我这里就直接写好啦
代码改成这样

# 设置日志的模板格式
logging:
  pattern:
    console: "%d %clr(%p) %clr(${PID:-}){magenta} --- [%16t] %clr(%40c){cyan} %n"

但是 这有个问题 这样 40 会导致 它多出的位置 前面空格了 但按日志默认配置来讲 这里没有空格呀
在这里插入图片描述
而且最后面 也没有长度控制 我们可以这样
在左边 加一减号 告诉它 左对齐
在这里插入图片描述
然后 在最后面加一个长度控制 控制在 40 多出来的 你给我把他干掉
在这里插入图片描述
然后再次运行 这样 我们这个效果就出来了 不再超出 也左对齐了
在这里插入图片描述
那么 最后就很简单啦
一对分号 然后 日志输出内容
总体代码就是这样

# 设置日志的模板格式
logging:
  pattern:
    console: "%d %clr(%p) %clr(${PID:-}){magenta} --- [%16t] %clr(%-40.40c){cyan} : %m %n"

运行结果如下
在这里插入图片描述

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

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

相关文章

适用于初学者,毕业设计的5个c语言项目,代码已开源

C语言项目集 项目介绍 该项目适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。 项目并不能满足所有人的需求,可进行项目指导,定制开发。 开源地址 c语言项目代码地址 项目列表 该项目包含如下5个管理系统&am…

ESP8266使用记录(三)

通过udp把mpu6050数据发送到PC端 /********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiUdp_12 团队/Team : 太极创客团队 / Taichi-Maker (w…

【视频处理】通过调用图像来重建新影片及计算颜色通道的平均灰度值,并检测帧与前一帧之间的差异(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

网易云信4K 8K RTC助力远程医疗的技术实践

// 编者按:随着近年来国家关于缓解医疗资源分配不均的一系列政策出台,远程医疗作为平衡医疗资源分配的有力手段,目前正处于强劲发展阶段。网易云信运用超高清RTC视频技术助力医疗行业实现了远程高清视频病理分析和手术示教等能力。LiveVide…

Beyond Compare 4对比工具注册

Beyond Compare是一款文件及文件夹(目录)的对比工具。 Beyond Compare不仅可以快速比较出两个目录的不同,还可以比较每个文件的内容,而且可以任意显示比较结果。 Beyond Compare程序内建了文件浏览器,方便您对文件、…

NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061

今天发现,有两个处理器,启动以后,数据流不过去,后来,锁定问题在,queue队列上面,因为别的队列都可以通过,右键,empty queue清空,就是 这个队列不行,这个队列无法被删除,至于为什么导致这样的, 猜测是因为之前,流程设计好以后,队列没有设置背压,也没有设置队列中的内容大小和fl…

基于人脸5个关键点的人脸对齐(人脸纠正)

摘要:人脸检测模型输出人脸目标框坐标和5个人脸关键点,在进行人脸比对前,需要对检测得到的人脸框进行对齐(纠正),本文将通过5个人脸关键点信息对人脸就行对齐(纠正)。 一、输入图像…

nginx实现反向代理实例

1 前言 1.1 演示内容 在服务器上访问nginx端口然后跳转到tomcat服务器 1.2 前提条件 前提条件:利用docker安装好nginx、tomcat、jdk8(tomcat运行需要jdk环境) 只演示docker安装tomcat: 默认拉取最新版tomcat docker pull t…

学习 OpenStack 的新指南和教程的六个建议

云基础设施是一个非常需要的技能。如果你正在为你的云基础架构需求寻找开源解决方案,那么 OpenStack 就是其中之一。OpenStack 是一个巨大的项目集合,为云服务的几乎每一个部分都提供了解决方案和集成。虽然这个巨大范围使得它成为一个强大的工具&#x…

若依前后端分离版搭建记录

一、如果是mysql8,得修改一下参数allowPublicKeyRetrieval为true,不然会报Public Key Retrieval is not allowed错误: 二、导入第二张表的数据库的时候,需要增加“--default-character-setutf8”参数才不会报错:

爱心助力口腔健康——三金西瓜霜全国“爱牙公益行”活动启动

在第35个“全国爱牙日”来临之际,三金西瓜霜牙膏联合中国善网公益平台共同发起的第四届三金西瓜霜“爱牙公益行”活动于近日启动。 今年“爱牙日”主题是“口腔健康 全身健康”,副主题是“关爱老年口腔乐享健康生活”。口腔健康是人体健康的重要组成部分…

两种常见矩形框旋转方法推导及其C++实现

在已知矩形中心点、长宽和旋转角度(定义为矩形最长边与X轴正方向的夹角),如何确定矩形四个顶点的坐标,通常有以下两种处理方法。 法一:直接对顶点进行旋转 比如下图虚线框矩形是实线框矩形绕矩形中心点旋转后得到。在…

贴片电容耐压值选取和特性(包含实际电路和PCB)

一、一般电容的特性 ①容值大的电容,一般通低频率;  ②容值小的电容,一般通高频率。   注:详细请看这位博主的篇文章: 大电容为什么虑低频小电容为什么又虑高频?(个人整理) 二、贴片电容的耐压选取 ①贴片电容有2…

“构建完善的用户认证与数据交互系统“

目录 引言1.ElementUI完成登录注册1. 登录页面设计与实现2. 注册页面设计与实现 2.axios之get请求3.axios之post请求4.跨域问题的解决方案5.总结 引言 在现代Web应用程序开发中,用户认证和数据交互是至关重要的功能。本文将介绍如何使用ElementUI、axios和解决跨域…

PyTorch 模型性能分析与优化--第1部分

一、说明 这篇文章的重点将是GPU上的PyTorch培训。更具体地说,我们将专注于 PyTorch 的内置性能分析器 PyTorch Profiler,以及查看其结果的方法之一,即 PyTorch Profiler TensorBoard 插件。 二、深度框架 训练深度学习模型,尤其是…

Understanding Host Network Stack Overheads论文阅读笔记

RFS (Receive Flow Steering) RFS(Receive flow steering)和 RPS 配合使用。RPS 试图在 CPU 之间平衡收包,但是没考虑 数据的本地性问题,如何最大化 CPU 缓存的命中率。RFS 将属于相同 flow 的包送到相同的 CPU 进行处理&#xf…

通用深度模型UniverSeg:分割医疗图像

医学图像分割是医学分析的中心问题。它很昂贵,需要大量数据,而且是特定于任务的。如果我们可以拥有一个可以应用于任何分割任务的模型怎么办? 医学图像分割:为什么我们需要以及为什么它很困难? 分割的例子。一般来说&…

2808. 使循环数组所有元素相等的最少秒数;1015. 可被 K 整除的最小整数;1001. 网格照明

2808. 使循环数组所有元素相等的最少秒数 核心思想:枚举每个元素作为相等元素最多需要多少秒,然后维护它的最小值。最多需要多少秒是怎么计算的,我们可以把相等值的下标拿出来,然后你会发现两个相邻下标(相邻下标只的…

three.js——宝马汽车产品展示

宝马汽车产品展示 前言效果图1、创建基本设置(场景和背景等)2、加载模型和展厅灯光3、添加点击事件 前言 宝马汽车产品展示和原理讲解 演示网址:http://f-h-y.gitee.io/bmw-car-display-project/#/ 效果图 1、创建基本设置(场景和背景等) …

ChatGPT详细搭建教程+支持AI绘画

一、AI创作系统 SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧&#x…