[发明专利]零代码侵入的日志监控方法、装置、电子设备及存储介质有效
申请号: | 202211337372.4 | 申请日: | 2022-10-28 |
公开(公告)号: | CN115390913B | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 周小亮;杨坤 | 申请(专利权)人: | 平安银行股份有限公司 |
主分类号: | G06F8/72 | 分类号: | G06F8/72;G06F8/41;G06F9/445 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 李申 |
地址: | 518000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 侵入 日志 监控 方法 装置 电子设备 存储 介质 | ||
本申请公开了零代码侵入的日志监控方法、装置、电子设备及存储介质,方法包括:基于源代码编译后的字节码文件构建第一软件包;构造日志监控注入代码,并基于日志监控注入代码编译后的字节码文件构建第二软件包;响应于接收到业务请求,启动类文件的转换器拦截运行时的类文件;其中,类文件在运行时被植入启动参数;启动参数包括需要注入日志代码的第一参数;利用类文件的转换器对类文件植入的启动参数进行识别;响应于识别出第一参数,对植入有第一参数的类文件的字节码进行修改,以在对应的业务代码内注入日志代码。本申请能够在零代码侵入源代码的情况下,在业务代码内注入日志代码,从而降低项目代码的复杂性,继而降低软件开发的难度。
技术领域
本申请涉及软件技术领域,特别是涉及零代码侵入的日志监控方法、装置、电子设备及存储介质。
背景技术
在软件的开发过程中,为了提升系统的稳定性和可用性,需要快速复现异常与排查异常。采用日志分析的技术方式,利用日志详细记录程序执行的步骤,能在程序出现故障时快速找到出错的地方和原因,帮助跟踪和调试程序。
现有技术中,通常是通过硬编码(在代码中添加相关的日志信息的输出)、通过AOP(面向切面编程)或者是通过集成开发的SDK(Software Development Kit,软件开发工具包)的方式实现日志功能。
然而,通过硬编码的方式需要在软件项目的每一个业务代码中增加新的代码,改动量极大;通过AOP的方式需要预先在软件项目的服务中集成,在当前的微服务架构下,服务数量多,需要耗费大量开发成本;通过集成开发好的SDK 也需要在每个软件项目中集成该SDK,以便在项目代码的每个业务代码增加代码调用该SDK。上述方法均需要对项目代码进行修改,无法降低代码复杂性,存在开发困难与运维困难的问题。
发明内容
本申请主要解决的技术问题是提供零代码侵入的日志监控方法、装置、电子设备及存储介质,能够解决现有技术中实现日志监控需要对项目代码进行修改导致的开发困难以及运维困难问题。
为解决上述技术问题,本申请采用的第一技术方案是提供一种零代码侵入的日志监控方法,包括:获取到待监控文件的源代码,并基于源代码编译后的字节码文件构建第一软件包;其中,第一软件包中包括多种类文件,每一种类文件包括至少一个对应的业务代码;构造日志监控注入代码,并基于日志监控注入代码编译后的字节码文件构建第二软件包;其中,日志监控注入代码包括类文件的转换器以及日志代码;响应于接收到业务请求,启动类文件的转换器拦截运行时的每一种类文件;其中,每一种类文件在运行时均被植入启动参数;其中,启动参数包括需要注入日志代码的第一参数;利用类文件的转换器对每一种类文件植入的启动参数进行识别;响应于识别出的启动参数为第一参数,利用类文件的转换器对植入有第一参数的类文件的字节码进行修改,以在对应的业务代码内注入日志代码。
其中,获取到待监控文件的源代码,并基于源代码编译后的字节码文件构建第一软件包的步骤中,包括:创建一个包括第一方法的类,并为包括第一方法的类配置第一程序入口;获取到待监控文件的源代码,对源代码进行编译,并将源代码编译后的字节码文件与包括第一方法的类进行打包,以获取到第一软件包。
其中,构造日志监控注入代码,并基于日志监控注入代码编译后的字节码文件构建第二软件包的步骤中,包括:创建一个包括第二方法的类,并为包括第二方法的类配置第二程序入口;其中,第二程序入口的执行逻辑先于第一程序入口的执行逻辑;构造日志监控注入代码,对日志监控注入代码进行编译,并将日志监控注入代码编译后的字节码文件与包括第二方法的类进行打包,以获取到第二软件包。
其中,响应于接收到业务请求,启动类文件的转换器拦截运行时的每一种类文件的步骤,包括:响应于接收到业务请求,从第二程序入口中调用类文件的转换器,以在多种类文件运行前启动类文件的转换器;在运行第一软件包时,获取预定目录下的多种类文件,基于预先设置好的启动参数对每一种类文件进行插桩,以植入对应的启动参数;利用类文件的转换器拦截每一种被植入有启动参数的类文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安银行股份有限公司,未经平安银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211337372.4/2.html,转载请声明来源钻瓜专利网。