[发明专利]一种基于go语言的自动化日志添加和代码问题查找定位方法在审
申请号: | 202011635202.5 | 申请日: | 2020-12-31 |
公开(公告)号: | CN112667243A | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 景壮;魏子重;孙思清 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/73 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 go 语言 自动化 日志 添加 代码 问题 查找 定位 方法 | ||
1.一种基于go语言的自动化日志添加和代码问题查找定位方法,其特征在于,
通过语法分析的代码函数获取方法,自动化的函数编排以及人为可干预的函数优先级分配,通过标签进行代码推演和问题查找。
2.根据权利要求1所述的方法,其特征在于,
包括:
go语言日志框架接入与初始化;
golang编译过程的函数分析,过滤,存储;
函数方法编排与等级规划;
日志处理过程。
3.根据权利要求2所述的方法,其特征在于,
步骤如下:
1)通过获取go的词法分析和语法分析在编译过程的FuncDecl模块获取待添加日志函数集合;
2)通过自定义格式日志函数筛选的方法;
3)待添加日志函数的标签的使用以及按照获取频率修正优先级的判定方式;
4)通过扫描完整的代码,识别代码中存在的指定函数,并在函数指定位置添加日志的实现过程;
5)通过日志收集结合函数标签的代码追踪方式。
4.根据权利要求3所述的方法,其特征在于,
接入代码使用的日志框架,并指定日志生成格式
包括
1)主动导入或者自动检测出go语言代码中所使用的日志框架,根据框架选择接入规则,通过日志框架规则构建日志自动插入的基础结构;
2)日志规则格式化,指定生成日志的格式,默认以“包名+‘-’+方法名+‘-’+线程ID”的形式作为提示信息,后面根据优先级选择跟随参数。
5.根据权利要求4所述的方法,其特征在于,
在golang的编译过程中,借助编译过程的语法分析和词法分析,在语法分析过程中输出FuncDecl结构体的节点信息,将节点信息中的Recv,Name,Type信息进行输出打印到指定文件,主要标记出函数名称,形参和返回值关键属性。
6.根据权利要求5所述的方法,其特征在于,
将获取的函数进行进一步的处理
包括
(1)在打印的过程中将函数进行指定编排,给不同的函数加上标签;
(2)在打印函数的过程中同时根据函数被使用的频率,自动改变函数的优先级并保存在打印的文件中;同时提供手动修改优先级方式。
7.根据权利要求6所述的方法,其特征在于,
提供两种优先级,第一种在插入日志不携带函数参数,只显示提示信息用以追踪代码执行流程;第二种日志携带函数的入参信息,可以显示输入参数的具体数值。
8.根据权利要求6所述的方法,其特征在于,
日志的处理过程
1)扫描代码,通过关键字查找将格式化的日志加到代码函数的首行以及被调用方法的错误返回处理的首行;
2)连接主流的日志采集模块,将日志信息进行收集,根据日志规则对数据进行结构化处理存储,同时根据函数的标签对代码执行流程进行存储,同时搭建标签与结构数据连接,一个标签对应一条结构化数据;
3)如发现错误日志,根据函数标签进行路径查找,同时展示标签对应的结构化数据,方便问题的定位与代码推演。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011635202.5/1.html,转载请声明来源钻瓜专利网。