[发明专利]一种日志输出方法及装置在审
| 申请号: | 201910286971.X | 申请日: | 2019-04-10 |
| 公开(公告)号: | CN110147313A | 公开(公告)日: | 2019-08-20 |
| 发明(设计)人: | 何青松 | 申请(专利权)人: | 口碑(上海)信息技术有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;窦晓慧 |
| 地址: | 200135 上海市浦东新区民生路11*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 日志 输出方法及装置 服务请求 函数调用 运行结果 函数调用关系 获取服务请求 表征函数 调用关系 定位软件 定位效率 输出 断点 申请 记录 | ||
本申请公开了一种日志输出方法及装置。其中所述日志输出方法,包括:获取服务请求;针对所述服务请求运行与所述服务请求对应的函数,获得运行结果;根据所述运行结果,生成用于表征函数调用关系的函数调用链;根据所述函数调用链生成记录有函数调用关系的日志;输出所述日志。采用本申请提供的方法,解决了现有技术中,采用在代码中增加断点的方法定位软件问题,存在的定位效率低的问题。
技术领域
本申请涉及软件测试领域,具体涉及一种日志输出方法及装置。
背景技术
现在软件系统的代码行数经常可以达到百万到千万的数量级。根据软件需求的变化,研发人员经常需要在原有代码基础上,进行新功能的迭代开发。在迭代开发的过程中,经常会引入新的问题,例如破坏了原有代码的运行逻辑、或者新增加的代码功能不够完善等。在开发完毕后,需要进行各种级别的测试,例如单元测试、集成测试、系统联调等。
在上述测试过程中,一旦发现软件系统存在问题,首先需要定位问题所在的代码位置。现有技术中,一般采用在代码中增加断点的方法定位问题所在的代码位置,然后在服务器上进行远程调试,当程序运行至断点处就会暂停,研发人员会根据断点处的程序运行状态确定软件问题。
然而,上述方法往往不能很快、准确的定位出问题代码,存在定位效率低的问题。
发明内容
本申请提供一种日志输出方法,以提高定位问题代码的效率。
所述日志输出方法,包括:
获取服务请求;
针对所述服务请求运行与所述服务请求对应的函数,获得运行结果;
根据所述运行结果,生成用于表征函数调用关系的函数调用链;
根据所述函数调用链生成记录有函数调用关系的日志;
输出所述日志。
可选的,所述运行结果包括函数调用关系;
所述根据所述运行结果,生成用于表征函数调用关系的函数调用链,包括:根据所述运行结果包括的函数调用关系,生成所述函数调用链。
可选的,所述根据所述运行结果包括的函数调用关系,生成所述函数调用链,包括:
将针对所述服务请求调用的第一个函数作为根节点,将所述第一个函数需要直接或间接调用的函数作为所述根节点的子孙节点,生成用于表征函数调用关系的函数关系调用树。
可选的,所述运行结果还包括函数调用所使用的请求参数以及被调用函数向调用函数返回的执行结果中的至少一种数据;
所述函数调用链包括函数调用所使用的请求参数以及被调用函数向调用函数返回的执行结果中的至少一种数据;
所述日志还记录有函数调用所使用的请求参数以及被调用函数向调用函数返回的执行结果中的至少一种数据。
可选的,所述根据所述函数调用链生成记录有函数调用关系的日志,包括:
从所述函数关系调用树中的根节点开始,按照深度优先的方式遍历所述函数关系调用树,在日志中记录函数调用关系,生成记录有函数调用关系的日志。
可选的,所述日志记录的函数调用关系包括问题函数的信息。
可选的,所述与所述服务请求对应的函数为接口层、服务层、核心层、持久化层、调用外部服务层以及基础工具层中的至少一个层中的函数。
可选的,所述针对所述服务请求运行与所述服务请求对应的函数,获得运行结果,包括:
根据所述服务请求,运行接口层的函数;
根据所述接口层的函数的调用信息,运行所述服务层的函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于口碑(上海)信息技术有限公司,未经口碑(上海)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910286971.X/2.html,转载请声明来源钻瓜专利网。





