【技术方案】深度分析打印日志为啥要使用占位符

news2024/10/7 7:23:05

背景:

最近项目上,关于是否使用占位符有不同的意见,尤其是以前使用字符串拼接的,觉得挺好的,没啥问题,为啥使用占位符,然后,他们在网上还找了一篇专门做性能比对的,主要针对的速度,文章里面测试了速度,速度有提高,但是说影响不大。

个人意见:

针对这种说法,以及网上一些粗制滥造的文章,我觉得有必要纠正一下

使用占位符不仅仅是速度提升的问题,主要是性能提升,节省内存,举例说明:

如果日志级别是info,那么debug级别的日志,占位符不会进行拼接,不会占据更多内存,但是字符串拼接却是直接拼接了,内存升高,如果打印的对象比较大,日志量多,内存很容被吃爆的

原理分析

在这里不做速度方面的测试,我们只看看占位符在什么时间进行拼接,下面是以logback为例的:

首先进入代码:

红线标注的是项目设置的日志级别跟你需要打印的日志级别的比较,比如:你设置的是info,打印的是debug,那么到这里直接就返回了

buildLoggingEventAndAppend方法是继续往下走

继续往下走:

OutputStreamAppender这个类的subAppend方法将要输入信息,它会将prepareForDeferredProcessing方法

继续看:

这个红线的方法是拼接占位符

一直往下走:

这个方法是进行占位符拼接的

结论:

当使用占位符的时候,如果不是打印的级别,数据不会进行拼接

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

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

相关文章

怎么裁剪图片?总结了下面几个方法

怎么裁剪图片?在日常的生活中,图片已经成为了我们不可或缺的一部分。或许你正在整理自己的相册时,或者我们需要向互联网上发布一些图片的时候,总之我们随时都可能会遇到一张需要进行裁剪的图片。比如说,一些图片上存在…

【OJ比赛日历】快周末了,不来一场比赛吗? #09.16-09.22 #12场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2023-09-16(周六) #3场比赛2023-09-17…

中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)

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

【每日一题】744. 寻找比目标字母大的最小字母

744. 寻找比目标字母大的最小字母 - 力扣(LeetCode) 给你一个字符数组 letters,该数组按非递减顺序排序,以及一个字符 target。letters 里至少有两个不同的字符。 返回 letters 中大于 target 的最小的字符。如果不存在这样的字符…

【C++】基础知识点回顾 下:auto关键字、范围内的for循环

前言 前两篇文章,我们分别复习了这些知识点 命名空间与输入输出 函数重载、引用和内联函数 今天,我们来学习auto关键字、范围内的for循环 auto关键字 定义 C11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指…

中断子系统 -- 中断通用框架

目录 通用数据结构 中断注册 中断线程化 中断处理 获取hwirq号 irq_enter preempt_count generic_handle_irq irq_exit 通用数据结构 内核提供了两种中断描述符组织形式: 打开CONFIG_SPARSE_IRQ宏(中断编号不连续),中断描…

android h5 共享停车系统myeclipse开发mysql数据库编程服务端java计算机程序设计

一、源码特点 java android h5 共享停车系统APP是一套完善的WEBandroid设计系统,对理解JSP java,安卓app编程开发语言有帮助(系统采用web服务端APP端 综合模式进行设计开发),系统具有 完整的源代码和数据库&#xf…

MySQL架构介绍与说明

1、MySQL架构介绍 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上, 插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的…

机器学习 day33(误差分析、添加数据)

误差分析 我们可以手动查看分类错误的子集样本(通常为100个),并统计他们的错误类型在所有错误类型中,选择一种或几种最常见的错误,进行改进。这可以最高效的改进你的模型误差分析的一个限制是:它只能很好…

基于Python+tkinter实现一个简易计算器桌面软件

你是否想过自己能够开发一个桌面小工具?如果答案是“是”,那么你来对地方了!今天,我们要一起使用Python中的tkinter库,来创建一个简易的桌面计算器。 1. 为什么选择tkinter? tkinter是Python的标准GUI库。…

Tokenview X-ray功能:深入探索EVM系列浏览器的全新视角

Tokenview作为一家领先的多链区块浏览器,为了进一步优化区块链用户的使用体验,我们推出了X-ray(余额透视)功能。该功能将帮助您深入了解EVM系列浏览器上每个地址的交易过程,以一种直观、简洁的方式呈现地址的进出账情况…

基于注解和jwt实现权限管理

第一步&#xff1a;创建项目 添加Maven依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version> </dependency> <dependency><groupId>org.s…

2023 Google 开发者大会|Mobile开发专题追踪

文章目录 前言大会介绍涉及内容MobileWebAICloud Mobile开发专题多终端应用的开发适配大屏视频流可穿戴设备电视新的设计中心 构建高质量的应用高级相机和媒体功能用户的安全和隐私更精细的视觉体验 小结 前言 哈喽大家好&#xff0c;我是阿Q。近期&#xff0c;【2023 Google …

TVS二极管的小知识

TVS二极管的小知识 文章目录 TVS二极管的小知识1、工作原理2、TVS二极管参数详解3、选型指南4、TVS二极管选型注意事项 1、工作原理 TVS&#xff08;Transient Voltage Suppressors&#xff09;二极管&#xff0c;即瞬态电压抑制器&#xff0c;又称雪崩击穿二极管&#xff0c;…

LabelEdit DLSample

LabelEdit改成true SelectedNode.Text"" 关于图像和数据集的信息在字典DLDataset中表示&#xff0c;DLDataset充当一个数据库。更准确地说&#xff0c;它存储关于数据集和在关键样本下收集的单个样本的字典的一般信息。当需要实际的图像数据时&#xff0c;将为每个…

ClickHouse进阶(十六):clickhouse优化-表优化

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术,IT贫道_大数据OLAP体系技术栈,Apache Doris,Kerberos安全认证-CSDN博客 &#x1f4cc;订阅…

AD20多层板设计中的平电层设计规则

一般情况下的多层板设计非常复杂&#xff0c;尤其层叠的次序以及平电层的电源层设计&#xff0c;Gnd层的设计比较简单&#xff0c;不需要过多的关注&#xff0c;但是电源层的设计非常关键&#xff0c;常常让人感到无法下手的感觉&#xff0c;这里介绍一个简单的防盲很快的让你上…

云流化:XR扩展现实应用发展的一个新方向!

扩展现实的发展已经改变了我们工作、生活和娱乐的方式&#xff0c;而且这才刚刚开始。扩展现实 (Extended reality, XR) 涵盖了沉浸式技术&#xff0c;包括虚拟现实、增强现实和混合现实。从游戏到虚拟制作再到产品设计&#xff0c;XR 使人们能够以前所未有的方式在计算机生成的…

解决方案 | 法大大电子签加速高校七大场景全面实现数字化

随着互联网技术的普及和发展&#xff0c;数字化校园建设在各高校正如火如荼地开展。无纸化办公是数字化校园建设中非常重要的一项内容&#xff0c;如何更好地在高校实现无纸化办公&#xff0c;为学校的教学、科研及管理服务提高工作效率、规范工作流程&#xff0c;是各高校都应…

window server事件ID说明

重启&#xff1a;1074 6013&#xff1a;系统运行时间 6008&#xff1a;非正常关机或者意外关机 WindowsServer2012R2事件id6008什么意思&#xff1f; 在Windows Server 2012 R2中&#xff0c;事件ID 6008是一个系统事件&#xff0c;它通常表示系统的非正常关机或意外关机。当系…