[发明专利]一种无感知生成全链路日志的方法在审
申请号: | 202211301966.X | 申请日: | 2022-10-24 |
公开(公告)号: | CN115509867A | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 汪才渊;姜平;巫安东 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210032 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 感知 生成 全链路 日志 方法 | ||
本发明公开了一种无感知生成全链路日志的方法,其特征在于,通过MDC机制,实现无感知注入链路调用序列号和分支链路序列号的效果,动态注入链路调用序列号和内置多种链路续接点续接逻辑,实现全链路日志的链路追踪,动态注入分支链路序列号,对并行逻辑链路的日志分组和排序,确定日志链路的链路续接点,根据其类型,分别引入对应的链路续接逻辑;配置全局日志格式中链路调用序列号和分支链路序列号的注入点,调用日志打印方法并打印。达到在打印日志的逻辑中避免重复编写注入链路调用序列号和分支链路序列号的逻辑,解决多线程应用或分布式应用链路断开的问题,避免并行逻辑链路的日志相互杂糅,增强全链路日志的条理性,提高阅读体验的效果。
技术领域
本发明涉及计算机处理技术的链路追踪领域,特别是涉及一种无感知生成全链路日志的方法。
背景技术
多线程或分布式应用程序的日志具有无序性、离散性。在排查问题的时候,难以在无序且离散的日志内容中查找到异常上下文相关的日志,从而使得在多线程程序中根据日志内容排查问题的难度居高不下。
现有公开技术中,Slf4j框架提供了MDC机制,支持在日志内容中动态注入调试信息。但是现有MDC机制的实际效果无法满足上述的需求,其主要缺点如下:
无法完全地追踪调用链路:MDC机制诞生之初,没有考虑分布式应用日志追踪的场景,在分布式应用中,无法直接透传链路调用序列号和分支链路序列号;在基于线程池的多线程应用中,无法正确地处理线程池中的各工作线程的MDC容器中的历史数据。
无法做到无感知:由于MDC机制本身不支持分布式应用和基于线程池的多线程应用,因此在这两类应用中,应用程序需要不断编写处理MDC中的链路调用序列号和分支链路序列号的逻辑。
针对上述存在缺陷,专利“基于MDC多线程链路追踪方法、装置及计算机可读存储介质”(申请号:202010771440.2)提供了通过预设法完成链路标识的创建,采用预设规则完成对多线程链路参数的继承的方法。然而该方案虽然能解决多线程间链路串联的问题,但仍不能解决分布式应用建链路串联的问题,也不能解决多分支链路的链路分组问题。
因此,需要一种支持多分支链路的无感知生成全链路日志的方法。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种无感知生成全链路日志的方法。
为解决上述技术问题,本发明提供一种无感知生成全链路日志的方法,其特征在于,包括如下步骤:
步骤1:在应用程序中引入支持MDC机制的日志框架,所述MDC机制用于在日志中注入调试信息,包括与当前输出日志的线程绑定的键值对映射表,用以将调试信息以键值对的形式存储在其中;
步骤2:根据应用的类型,确定日志链路的链路起点,所述链路起点在不同的应用类型下位置不同;
步骤3:在链路起点引入链路调用序列号生成逻辑,所述链路调用序列号生成逻辑包括解析链路调用序列号和将链路调用序列号添加至MDC容器中所述MDC容器是日志框架中MDC机制的具体实现;所述链路调用序列号生成逻辑包括检查请求头中是否存在透传的链路调用序列号,如果不存在,则生成一个随机字符串作为本次调用的链路调用序列号;
步骤4:在链路起点引入分支链路序列号生成逻辑,所述分支链路序列号生成逻辑包括解析分支链路序列号和将分支链路序列号添加至MDC容器中,所述分支链路序列号生成逻辑首先检查请求头中是否存在透传的分支链路序列号,如果不存在,则生成一个随机字符串作为分支链路序列号;
步骤5:根据应用的实现逻辑,确定日志链路的链路续接点,所述应用和链路续接点为一对多的映射关系,一个应用中同时存在多个链路续接点;
步骤6:根据链路续接点的类型,分别引入对应的链路续接逻辑;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211301966.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种抽油杆端部直线度智能检测设备
- 下一篇:一种取消混匀料堆的烧结矿生产工艺