【技术实现步骤摘要】
方法调用链跟踪方法、电子装置及计算机可读存储介质
本专利技术涉及方法调用
,尤其涉及一种方法调用链跟踪方法、电子装置及计算机可读存储介质。
技术介绍
方法(又称作函数)是指实现某些特定功能的代码块。软件实现过程中,一个功能的实现总是由一个或者多个方法来完成的。例如,用户要登录一个网站,需要有用户校验、密码校验、首页各个模块内容加载等多个方法来一起实现。其中有些方法可能被多个地方使用,如密码的格式校验方法可以在支付密码、登录密码设置的时候被调用。由于一个方法可能被多处调用,调用的入口不一样,实现的功能及处理流程就可能不一样。在方法的调用实现过程中,需要执行异常处理(如异常捕获输出日志),如果没有整个调用链的日志输出,就很难判断是哪个业务流程或业务分支产生的错误。当前实现方法调用链的方式主要为:在方法实现开始时记录调用关系,流程处理完输出调用链日志。但是,由于要在每个方法增加调用方法的记录,就需要方法实现某个接口,或者是方法上增加调用链记录的相关方法。针对已经开发完的代码,如果要增加这个功能就相当于要重构一遍代码, ...
【技术保护点】
1.一种方法调用链跟踪方法,其特征在于,所述方法包括:/n设置当前应用是否进行方法调用链跟踪的配置项;/n在方法调用前进行拦截,根据所述配置项判断是否需要输出所述方法的调用链信息;及/n当判断出需要输出所述调用链信息时,在执行所述方法的调用请求前记录所述方法的调用链信息,在完成所述方法的调用请求后输出所记录的调用链信息。/n
【技术特征摘要】
1.一种方法调用链跟踪方法,其特征在于,所述方法包括:
设置当前应用是否进行方法调用链跟踪的配置项;
在方法调用前进行拦截,根据所述配置项判断是否需要输出所述方法的调用链信息;及
当判断出需要输出所述调用链信息时,在执行所述方法的调用请求前记录所述方法的调用链信息,在完成所述方法的调用请求后输出所记录的调用链信息。
2.如权利要求1所述的方法调用链跟踪方法,其特征在于,所述配置项中通过printMethodCallChain参数控制是否需要输出所述调用链信息,当所述参数值为true时,表示需要输出所述调用链信息;当所述参数值为false时,表示不需要输出所述调用链信息。
3.如权利要求1或2所述的方法调用链跟踪方法,其特征在于,所述在方法调用前进行拦截,根据所述配置项判断是否需要输出所述方法的调用链信息包括:
当接收到所述方法的调用请求时,根据所述配置项判断是否需要输出所述调用链信息;
当判断出需要输出所述调用链信息时,缓存所述方法调用请求的请求ID;
在执行所述方法的调用请求之前进行拦截,判断是否缓存有所述请求ID,以确定是否需要输出所述调用链信息。
4.如权利要求3所述的方法调用链跟踪方法,其特征在于,所述当判断出需要输出所述调用链信息时,在执行所述方法的调用请求前记录所述方法的调用链信息,在完成所述方法的调用请求后输出所记录的调用链信息包括:
当判断出缓存有所述请求ID时,记录所述方法的调用链信息,然后执行所述方法的调用请求;
处理完所述方法的调用请求后,判断是否缓存有所述请求ID;
当判断出缓存有所述请求ID时,输出所记录的所述调用链信息。
5.如权利要求4所述的方法调用链跟踪方法,其特征在于,所述方法还包括:
在输出所记录的所述调用链信息后,移除缓存中的所述请求ID。
6.如权利要求1所述的方法调用链跟踪方法,其特征在于,通过Spring-AOP框架的切片拦截对所述方法进行拦截。
7.一种电子装置,其特征在于,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的方法调用链跟踪程序,所述方法调用链跟踪程序被所述处理器...
【专利技术属性】
技术研发人员:陈青龙,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。