异常日志片段的获取方法、装置、设备及存储介质与流程

未命名 07-13 阅读:103 评论:0


1.本技术涉及数据处理技术领域,尤其涉及一种异常日志片段的获取方法、装置、设备及存储介质。


背景技术:

2.移动端应用程序的质量极大影响了网民的产品体验,而稳定性测试是保证应用程序质量的重要部分。在对应用程序进行稳定性测试时,需要对其进行长时间监控测试,才能确定稳定性结果。
3.然而,长时间的测试过程会产生大量的测试日志,目前,研发测试人员只能通过人工浏览查找的方式,在这大量的测试日志中查找有效异常日志,进而才能解决异常问题。而这种人工浏览查找的方式,不仅会耗费研发测试人员大量时间,无限拉长测试周期,还容易遗漏异常日志,致使分析结果不准确,异常问题解决不彻底。
4.因此,如何快速且准确地获取异常日志成为目前待解决的问题。


技术实现要素:

5.本技术提供一种异常日志片段的获取方法、装置、设备及存储介质,用以解决如何快速且准确地获取异常日志的问题。
6.一方面,本技术提供一种异常日志片段的获取方法,所述方法包括:获取测试日志;所述测试日志为对应用程序进行稳定性测试时生成的运行日志;根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段;其中,所述预设正则表达式为基于所述应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。
7.可选地,根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段,包括:在所述测试日志中,查找与所述预设正则表达式所指示的字段格式相同的目标日志字段;根据所述目标日志字段和预设提取范围,确定所述异常日志片段;其中,所述异常日志片段中包括所述目标日志字段;提取出所述异常日志片段,并将所述异常日志片段保存至对应的异常日志文件中。
8.可选地,所述异常问题包括以下一种或多种:编程语言层崩溃、本机崩溃、应用程序无响应、启动崩溃。
9.可选地,所述方法还包括:获取所述应用程序在出现异常问题时,每种不同异常问题对应的已知异常日志中的关键字段信息,并分析所述关键字段信息,确定所述关键字段信息的关键字符和字段格
式;根据所述关键字符、所述字段格式、以及预设编写规则,编写与所述关键字段信息对应的正则表达式。
10.可选地,所述方法还包括:分析所述异常日志片段,生成与所述异常日志片段对应的分析报告;其中,所述分析报告的内容包括以下一种或多种:所述异常日志片段、所述异常日志片段的代码文件名、异常代码行数、与所述异常日志片段对应的异常问题、所述异常问题的异常类型、出现异常问题的时间、以及与所述异常日志片段对应的解决方案。
11.可选地,所述方法还包括:通过预设文件传输方式将所述分析报告,同步给研发测试人员;其中,所述预设文件传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。
12.可选地,所述方法还包括:根据所述异常问题的异常类型,为不同异常问题赋予不同颜色;根据所述异常问题和所述异常问题的异常类型,生成统计图表;其中,所述统计图表中包括不同颜色的异常问题和每种异常问题出现的次数。
13.可选地,所述方法还包括:根据多个所述测试日志,生成至少一个日志组,所述日志组中包括至少一个测试日志;针对每一所述日志组,基于聚类算法将所述日志组中的日志,分为至少一个日志簇;其中,所述日志簇中包括至少一个日志,所述日志簇中的日志为类型相似的日志;针对每一所述日志簇,提取所述日志簇中各日志的共同标识为模板,并确定所述日志簇中各日志中除去所述模板的其他信息,为参数;其中,所述模板为描述系统事件的静态的关键字,所述参数为应用程序在运行期间的变量的值;在得到新的测试日志时,基于所述新的测试日志与所述模板之间的相似度,确定所述新的测试日志对应的日志簇,并将所述新的测试日志归属到所述新的测试日志对应的日志簇中;并对所述新的测试日志进行解析,得到新的模板和新的参数。
14.另一方面,本技术提供一种异常日志片段的获取装置,所述装置包括:获取单元,用于获取测试日志;所述测试日志为对应用程序进行稳定性测试时生成的运行日志;提取单元,用于根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段;其中,所述预设正则表达式为基于所述应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。
15.可选地,所述提取单元包括查找模块、确定模块以及保存模块;所述查找模块,用于在所述测试日志中,查找与所述预设正则表达式所指示的字段格式相同的目标日志字段;所述确定模块,用于根据所述目标日志字段和预设提取范围,确定所述异常日志片段;其中,所述异常日志片段中包括所述目标日志字段;所述保存模块,用于提取出所述异常日志片段,并将所述异常日志片段保存至对
应的异常日志文件中。
16.可选地,所述异常问题包括以下一种或多种:编程语言层崩溃、本机崩溃、应用程序无响应、启动崩溃。
17.可选地,所述装置还包括编写单元,所述编写单元包括整理模块和编写模块;所述整理模块,用于获取所述应用程序在出现异常问题时,每种不同异常问题对应的已知异常日志中的关键字段信息,并分析所述关键字段信息,确定所述关键字段信息的关键字符和字段格式;所述编写模块,用于根据所述关键字符、所述字段格式、以及预设编写规则,编写与所述关键字段信息对应的正则表达式。
18.可选地,所述装置还包括分析单元;所述分析单元,用于分析所述异常日志片段,生成与所述异常日志片段对应的分析报告;其中,所述分析报告的内容包括以下一种或多种:所述异常日志片段、所述异常日志片段的代码文件名、异常代码行数、与所述异常日志片段对应的异常问题、所述异常问题的异常类型、出现异常问题的时间、以及与所述异常日志片段对应的解决方案。
19.可选地,所述装置还包括发送单元;所述发送单元,用于通过预设文件传输方式将所述分析报告,同步给研发测试人员;其中,所述预设文件传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。
20.可选地,所述分析单元包括标记模块和统计模块;所述标记模块,用于根据所述异常问题的异常类型,为不同异常问题赋予不同颜色;所述统计模块,用于根据所述异常问题和所述异常问题的异常类型,生成统计图表;其中,所述统计图表中包括不同颜色的异常问题和每种异常问题出现的次数。
21.可选地,所述装置还包括预处理单元;所述预处理单元,用于根据多个所述测试日志,生成至少一个日志组,所述日志组中包括至少一个测试日志;还用于针对每一所述日志组,基于聚类算法将所述日志组中的日志,分为至少一个日志簇;其中,所述日志簇中包括至少一个日志,所述日志簇中的日志为类型相似的日志;还用于针对每一所述日志簇,提取所述日志簇中各日志的共同标识为模板,并确定所述日志簇中各日志中除去所述模板的其他信息,为参数;其中,所述模板为描述系统事件的静态的关键字,所述参数为应用程序在运行期间的变量的值;还用于在得到新的测试日志时,基于所述新的测试日志与所述模板之间的相似度,确定所述新的测试日志对应的日志簇,并将所述新的测试日志归属到所述新的测试日志对应的日志簇中;并对所述新的测试日志进行解析,得到新的模板和新的参数。
22.另一方面,本技术还提供一种电子设备,所述电子设备包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如上所述的方法。
23.另一方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述的方法。
24.另一方面,本技术还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
25.本技术提供的异常日志片段的获取方法、装置、设备及存储介质,包括:获取测试日志;所述测试日志为对应用程序进行稳定性测试时生成的运行日志;根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段;其中,所述预设正则表达式为基于所述应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。本技术的方案,可用于稳定性测试过程中,在测试的同时,就自动提取出异常日志片段,而无需研发测试人员再去人工一一查找,不仅实现了异常日志的自动化提取,节省了研发测试人员的时间,提高了工作效率;也降低了人为因素对提取准确度的影响,提高了异常日志的提取准确率。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
27.图1为本技术实施例提供的一种异常日志片段的获取方法的流程示意图;图2为本技术实施例提供的一种生成预设正则表达式的方法的流程示意图;图3为本技术实施例提供的一种异常日志片段的获取装置的结构示意图;图4为本技术实施例提供的又一种异常日志片段的获取装置的结构示意图;图5为本技术实施例提供的一种电子设备的结构示意图。
28.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
29.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
30.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.随着互联网技术的普及,网民数量的增加,移动端产品已经成为信息的重要载体,而移动端产品的质量也极大影响了网民的产品体验。为了保证移动端产品的质量,研发测
试人员会对移动端上的应用程序进行稳定性测试。
32.其中,对应用程序进行稳定性测试,旨在验证应用程序在接近最大负载下的稳定性,也即,确定其在高压力水平下是否依然可以在既定时间范围内或超出既定时间范围内正常执行,而没有性能缺陷或崩溃。
33.由于对应用程序的稳定性测试是长时间测试(通常是大于8小时,甚至更长时间的持续运行),因此,测试的过程会产生大量的测试日志。而研发测试人员需要人工从这大量的日志中找到并分析出有效的异常日志才能解决问题,这将耗费研发测试人员大量的时间,会无限拉长测试周期,还容易遗漏异常日志,致使分析结果不准确,异常问题解决不彻底。因此,如何快速且准确地获取测试日志中的有效异常日志,节省筛选日志的时间,帮助研发测试人员快速定位问题,成为目前待解决的问题。
34.为了解决上述问题,本技术提供一种异常日志片段的获取方法、装置、设备及存储介质。通过在进行稳定性测试时,获取测试日志,并根据预先设置的异常日志中关键字段信息对应的正则表达式,在测试日志中自动提取出异常日志片段。由于在进行稳定性测试时,就可以自动提取出异常日志片段,无需研发测试人员再去人工查找,不仅实现了异常日志的自动化提取,节省了研发测试人员的时间,提高了工作效率;也降低了人为因素对提取准确度的影响,提高了异常日志的提取准确率。
35.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
36.图1为本技术实施例提供的一种异常日志片段的获取方法的流程示意图。本技术实施例提供的异常日志片段的获取方法,其执行主体可以为异常日志片段的获取装置,该装置可以位于电子设备上,电子设备可以为移动终端,如手机、平板、电脑等,本技术不做限制。本技术实施例以执行主体为异常日志片段的获取装置为例进行详细说明。
37.如图1所示,本实施例提供的异常日志片段的获取方法,包括:s101、获取测试日志;测试日志为对应用程序进行稳定性测试时生成的运行日志。
38.示例性地,在进行应用程序的稳定性测试时,通常会采用测试工具采集测试产生的运行日志。在安卓系统中,通常安装有安卓调试桥(android debug bridge,adb),可以使用安卓调试桥adb来抓取日志,进而研发测试人员就可以通过分析日志,确定应用程序在运行过程中故障也即bug发生的原因,进而更好地解决问题,给用户提供更好的使用体验。
39.示例性地,在收集测试日志时,可将安装了安卓调试桥adb的测试用设备(例如手机)与电脑连接,并在命令行窗口输入adb devices以查看连接状态,在确定连接正常的情况下,输入adb logcat
ꢀ‑
v time》d:/logcat.log,以开始抓取对应用程序进行稳定性测试时产生的运行日志,并保存在预先设置的用于存放测试日志的日志文件中,待日志收集完成后,按下ctrl+c结束日志收集,就完成了待测试日志的收集。测试工具在进行测试日志的收集同时,或在完成测试日志的收集后,将测试日志发送给本技术的异常日志片段的获取装置,本技术的异常日志片段的获取装置就获取到了测试日志。
40.s102、根据预设正则表达式,从测试日志中提取出异常日志片段,并保存异常日志片段;其中,预设正则表达式为基于应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。
41.示例性地,预设正则表达式是预先根据应用程序在出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。由于应用程序出现异常问题的原因有多种,而每种不同异常问题对应不同的异常类型,其对应的异常日志各不相同,异常日志中的关键字段信息也各不相同,因此,每种不同的异常问题都有对应的正则表达式,也即本技术中预设正则表达式可以为多个,本技术不做限制。
42.示例性地,异常日志片段的获取装置在获取到测试日志后,在测试日志中提取出与每个预设正则表达式对应的异常日志片段,并保存该异常日志片段到各自对应的文件中,就实现了异常日志片段的快速且准确地获取,而无需研发测试人员再一一去查找,节省了研发测试人员的时间,也不会出现遗漏异常日志的情况。
43.其中,一个示例中,步骤s102、根据预设正则表达式,从测试日志中提取出异常日志片段,并保存异常日志片段,可以包括:s1021、在测试日志中,查找与预设正则表达式所指示的字段格式相同的目标日志字段。
44.s1022、根据目标日志字段和预设提取范围,确定异常日志片段;其中,异常日志片段中包括目标日志字段。
45.s1023、提取出异常日志片段,并将异常日志片段保存至对应的异常日志文件中。
46.示例性地,异常日志片段的获取装置在获取到的测试日志中,查找与每个预设正则表达式所指示的字段格式相同的所有目标日志字段,并根据目标日志字段和预设提取范围,确定包括目标日志字段的所有异常日志片段,并将其全部提取出来,分别保存到对应的异常日志文件中,就得到了测试日志中的所有异常日志片段。无需研发测试人员再一一去查找,节省了研发测试人员的时间,也不会出现遗漏异常日志的情况,实现了异常日志片段的快速、准确获取。
47.其中,预设提取范围包括了能够体现异常问题的所有异常日志,其表征了提取异常日志片段的实际范围,本技术对其不做具体限制。示例性地,预设提取范围可以为从目标日志字段开始到一定行数的日志代码。例如,预设提取范围可以为从目标日志字段开始的9行内的所有日志代码,提取出的从目标日志字段开始的9行内所有日志代码,即为本技术中与该预设正则表达式对应的一个异常日志片段。
48.本技术实施例提供的异常日志片段的获取方法,包括:获取测试日志;测试日志为对应用程序进行稳定性测试时生成的运行日志;并根据预设正则表达式,从测试日志中提取出异常日志片段,并保存异常日志片段;其中,预设正则表达式为基于应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。本技术的方案,可用于稳定性测试过程中,在测试的同时,就自动提取出异常日志片段,而无需研发测试人员再去人工一一查找,不仅实现了异常日志的自动化提取,节省了研发测试人员的时间,提高了工作效率;也降低了人为因素对提取准确度的影响,提高了异常日志的提取准确率。
49.在上述实施例的基础上,在提取测试日志中的异常日志片段之前,还可以先确定预设正则表达式,以便于通过预设正则表达式进行异常日志片段的提取。
50.示例性地,图2为本技术实施例提供的一种生成预设正则表达式的方法的流程示意图。如图2所示,本技术实施例提供的生成预设正则表达式的过程,可以包括:
in)。*(@@).*[\s\s]*.*(%)(\s)(total).*”。
[0064]
当应用程序的异常问题为启动crash时,其对应的正则表达式可以为:“.*(sending signal. pid)(.*[\s\s]){0,20}.*(@@).* (has died)”。
[0065]
本实施例的方案,通过提取应用程序在出现异常问题时,每种不同异常问题对应的已知异常日志中的关键字段信息,并分析关键字段信息,确定关键字段信息的关键字符和字段格式;并根据关键字符、字段格式、以及预设编写规则,编写与关键字段信息对应的正则表达式;从而得到预设正则表达式,当得到预设正则表达式后,就可以根据预设正则表达式在测试日志中提取出异常日志片段,解决研发测试人员异常日志提取难、耗时长的问题。
[0066]
在上述实施例的基础上,在提取出测试日志中的异常日志片段之后,还可以对异常日志片段进行分析,以获取分析结果,便于研发测试人员解决问题。因此,一个示例中,本技术的方案还可以包括:分析异常日志片段,生成与异常日志片段对应的分析报告;其中,分析报告的内容包括以下一种或多种:异常日志片段、异常日志片段的代码文件名、异常代码行数、与异常日志片段对应的异常问题、异常问题的异常类型、出现异常问题的时间、以及与异常日志片段对应的解决方案。
[0067]
示例性地,在分析异常日志片段时,读取异常日志片段的具体内容,就可以确定其所指示的异常问题、异常问题所属的异常类型、出现异常问题的时间等信息,因此,与异常日志片段对应的分析报告中可以包括与异常日志片段对应的异常问题、异常问题的异常类型、出现异常问题的时间,以便研发测试人员确定问题。进一步,为了便于研发测试人员识别不同的异常日志片段,分析报告中还可以包括异常日志片段本身、异常日志片段的代码文件名、异常代码行数。此外,分析报告中还可以包括与异常日志片段对应的解决方案,以便于研发测试人员直接根据分析报告的解决方案解决异常问题,从而提高研发测试人员的工作效率。
[0068]
在上述实施例的基础上,为了便于研发测试人员对本次稳定性测试的整体统计分析,一个示例中,本技术的方案还可以包括:s1、根据异常问题的异常类型,为不同异常问题赋予不同颜色。
[0069]
s2、根据异常问题和异常问题的异常类型,生成统计图表;其中,统计图表中包括不同颜色的异常问题和每种异常问题出现的次数。
[0070]
示例性地,为了方便研发测试人员快速定位异常问题的类型,还可以根据异常问题的异常类型,为不同异常问题赋予不同颜色,也即,可以设置每种问题类型使用一种对应的颜色,方便研发测试人员快查找相同问题,进而统一解决问题。
[0071]
进一步,还可以统计每种异常类型的异常问题出现的次数,并生成统计图表,在图表中用不同颜色标记不同的异常问题,并显示其对应的出现次数,以使研发测试人员更直观地确定稳定性测试结果,更明确地知道应用程序的质量,以便于后续对应用程序进行改进,为网民提供更好的服务。
[0072]
在上述实施例的基础上,为了便于研发测试人员获取分析报告,一个示例中,本技术的方案还可以包括:通过预设文件传输方式将分析报告,同步给研发测试人员;其中,预设文件传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。
[0073]
示例性地,为了便于研发测试人员从不同渠道、通过不同方式快速获取分析报告,进而更快、更好的解决问题,在完成对异常日志片段的分析后,还可以将分析报告通过任意一种可行的方式同步给研发测试人员。
[0074]
示例性地,可以通过电子邮件、文件传输协议、超文本传输协议等方式将分析报告,发送给研发测试人员。在实际应用中,根据实际需求,可以选择一种传输速度快、可以传输各种类型的文件格式、还可对其进行加密传输、身份验证的方式来传输分析报告,以确保分析报告的安全性。此外,还可选择其他任意安全高效的方式,将分析报告同步给研发测试人员,本技术不做限制。
[0075]
一个示例中,在将测试日志保存在预先设置的用于存放测试日志的日志文件中时,还可以对测试日志提前进行一定的预处理,以便于后续提取和分析异常日志片段。示例性地,预处理的过程可以包括以下步骤:s10、根据多个测试日志,生成至少一个日志组,日志组中包括至少一个测试日志。
[0076]
s20、针对每一日志组,基于聚类算法将日志组中的日志,分为至少一个日志簇;其中,日志簇中包括至少一个日志,日志簇中的日志为类型相似的日志。
[0077]
s30、针对每一日志簇,提取日志簇中各日志的共同标识为模板,并确定日志簇中各日志中除去模板的其他信息,为参数;其中,模板为描述系统事件的静态的关键字,参数为应用程序在运行期间的变量的值。
[0078]
s40、在得到新的测试日志时,基于新的测试日志与模板之间的相似度,确定新的测试日志对应的日志簇,并将新的测试日志归属到新的测试日志对应的日志簇中;并对新的测试日志进行解析,得到新的模板和新的参数。
[0079]
示例性地,若按测试时间或按测试用例将整个稳定性测试过程分成几个部分,则一整个测试过程就包括了多个测试日志,为了便于后续异常日志的提取和分析,可将多个测试日志分类。
[0080]
示例性地,按照后续分析需求,将多个测试日志分组,生成至少一个日志组,而日志组中包括至少一个测试日志。再针对每一日志组,基于聚类算法将日志组中的日志,按照相似度分为至少一个日志簇;其中,日志簇中包括至少一个日志,使得日志簇中的日志为类型相似的日志。再针对每一日志簇,提取日志簇中各日志的共同标识为模板,并确定日志簇中各日志中除去模板的其他信息,为参数。其中,模板为描述系统事件的静态的关键字,其通常为一段自然语言,这些关键字被显式地写在日志语句的代码中,通过模板中的关键字可确定日志组中各日志的相似度,也便于将相似度高的日志分在同一个日志簇中;而参数为应用程序在运行期间的变量的值,其通常各不相同,用于区分相似日志中的不同日志。进一步,在得到新的测试日志时,基于新的测试日志与模板之间的相似度,可以先确定新的测试日志对应的日志簇,并将新的测试日志归属到新的测试日志对应的日志簇中;并对新的测试日志进行解析,得到新的模板和新的参数。
[0081]
以此往复,在提取异常日志之前,就先将测试日志按照相似度分在相类似的日志簇中,以解决单个日志数据量巨大、极度不均衡、数据漂移且没有标注等问题,也能减小后续日志提取时的数据计算量,提高提取异常日志片段的速度和效率,节约研发测试人员的时间成本,以实现快速且准确的提取异常日志。
[0082]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实
施例中未披露的细节,请参照本技术方法实施例。
[0083]
图3为本技术实施例提供的一种异常日志片段的获取装置的结构示意图。如图3所示,本技术实施例提供的异常日志片段的获取装置30包括:获取单元301和提取单元302。
[0084]
其中,获取单元301,用于获取测试日志;测试日志为对应用程序进行稳定性测试时生成的运行日志。
[0085]
提取单元302,用于根据预设正则表达式,从测试日志中提取出异常日志片段,并保存异常日志片段;其中,预设正则表达式为基于应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。
[0086]
本实施例提供的装置,可用于执行上述实施例的方法,其实现原理和技术效果类似,此处不再赘述。
[0087]
图4为本技术实施例提供的又一种异常日志片段的获取装置的结构示意图。如图4所示,本技术实施例提供的异常日志片段的获取装置40包括:获取单元401和提取单元402。
[0088]
其中,获取单元401,用于获取测试日志;测试日志为对应用程序进行稳定性测试时生成的运行日志。
[0089]
提取单元402,用于根据预设正则表达式,从测试日志中提取出异常日志片段,并保存异常日志片段;其中,预设正则表达式为基于应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。
[0090]
一个示例中,提取单元402包括查找模块4021、确定模块4022以及保存模块4023。
[0091]
查找模块4021,用于在测试日志中,查找与预设正则表达式所指示的字段格式相同的目标日志字段。
[0092]
确定模块4022,用于根据目标日志字段和预设提取范围,确定异常日志片段;其中,异常日志片段中包括目标日志字段。
[0093]
保存模块4023,用于提取出异常日志片段,并将异常日志片段保存至对应的异常日志文件中。
[0094]
一个示例中,异常问题包括以下一种或多种:编程语言层崩溃、本机崩溃、应用程序无响应、启动崩溃。
[0095]
一个示例中,装置40还包括编写单元403,编写单元403包括整理模块4031和编写模块4032。
[0096]
整理模块4031,用于获取应用程序在出现异常问题时,每种不同异常问题对应的已知异常日志中的关键字段信息,并分析关键字段信息,确定关键字段信息的关键字符和字段格式。
[0097]
编写模块4032,用于根据关键字符、字段格式、以及预设编写规则,编写与关键字段信息对应的正则表达式。
[0098]
一个示例中,装置40还包括分析单元404。
[0099]
分析单元404,用于分析异常日志片段,生成与异常日志片段对应的分析报告;其中,分析报告的内容包括以下一种或多种:异常日志片段、异常日志片段的代码文件名、异常代码行数、与异常日志片段对应的异常问题、异常问题的异常类型、出现异常问题的时间、以及与异常日志片段对应的解决方案。
[0100]
一个示例中,分析单元404包括发送模块4041。
[0101]
发送单元4041,用于通过预设文件传输方式将分析报告,同步给研发测试人员;其中,预设文件传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。
[0102]
一个示例中,分析单元404包括标记模块4042和统计模块4043。
[0103]
标记模块4042,用于根据异常问题的异常类型,为不同异常问题赋予不同颜色。
[0104]
统计模块4043,用于根据异常问题和异常问题的异常类型,生成统计图表;其中,统计图表中包括不同颜色的异常问题和每种异常问题出现的次数。
[0105]
一个示例中,装置40还包括预处理单元405。
[0106]
预处理单元405,用于根据多个测试日志,生成至少一个日志组,日志组中包括至少一个测试日志;还用于针对每一日志组,基于聚类算法将日志组中的日志,分为至少一个日志簇;其中,日志簇中包括至少一个日志,日志簇中的日志为类型相似的日志;还用于针对每一日志簇,提取日志簇中各日志的共同标识为模板,并确定日志簇中各日志中除去模板的其他信息,为参数;其中,模板为描述系统事件的静态的关键字,参数为应用程序在运行期间的变量的值;还用于在得到新的测试日志时,基于新的测试日志与模板之间的相似度,确定新的测试日志对应的日志簇,并将新的测试日志归属到新的测试日志对应的日志簇中;并对新的测试日志进行解析,得到新的模板和新的参数。
[0107]
本实施例提供的装置,可用于执行上述实施例的方法,其实现原理和技术效果类似,此处不再赘述。
[0108]
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上数据处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0109]
图5为本技术实施例提供的一种电子设备的结构示意图。如图5所示,该电子设备50,包括:处理器501,以及与处理器通信连接的存储器502。
[0110]
其中,存储器502存储计算机执行指令;处理器501执行存储器502存储的计算机执行指令,以实现如前述任一项的方法。
[0111]
在上述电子设备的具体实现中,应理解,处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0112]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,该计算机执行指令被处理器执行时用于实现如前述任一项的方法。
[0113]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通
过计算机指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0114]
本技术实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时用于实现如前述任一项的方法。
[0115]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0116]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。

技术特征:
1.一种异常日志片段的获取方法,其特征在于,所述方法包括:获取测试日志;所述测试日志为对应用程序进行稳定性测试时生成的运行日志;根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段;其中,所述预设正则表达式为基于所述应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。2.根据权利要求1所述的方法,其特征在于,根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段,包括:在所述测试日志中,查找与所述预设正则表达式所指示的字段格式相同的目标日志字段;根据所述目标日志字段和预设提取范围,确定所述异常日志片段;其中,所述异常日志片段中包括所述目标日志字段;提取出所述异常日志片段,并将所述异常日志片段保存至对应的异常日志文件中。3.根据权利要求1所述的方法,其特征在于,所述异常问题包括以下一种或多种:编程语言层崩溃、本机崩溃、应用程序无响应、启动崩溃。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述应用程序在出现异常问题时,每种不同异常问题对应的已知异常日志中的关键字段信息,并分析所述关键字段信息,确定所述关键字段信息的关键字符和字段格式;根据所述关键字符、所述字段格式、以及预设编写规则,编写与所述关键字段信息对应的正则表达式。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:分析所述异常日志片段,生成与所述异常日志片段对应的分析报告;其中,所述分析报告的内容包括以下一种或多种:所述异常日志片段、所述异常日志片段的代码文件名、异常代码行数、与所述异常日志片段对应的异常问题、所述异常问题的异常类型、出现异常问题的时间、以及与所述异常日志片段对应的解决方案。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:通过预设文件传输方式将所述分析报告,同步给研发测试人员;其中,所述预设文件传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:根据所述异常问题的异常类型,为不同异常问题赋予不同颜色;根据所述异常问题和所述异常问题的异常类型,生成统计图表;其中,所述统计图表中包括不同颜色的异常问题和每种异常问题出现的次数。8.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:根据多个所述测试日志,生成至少一个日志组,所述日志组中包括至少一个测试日志;针对每一所述日志组,基于聚类算法将所述日志组中的日志,分为至少一个日志簇;其中,所述日志簇中包括至少一个日志,所述日志簇中的日志为类型相似的日志;针对每一所述日志簇,提取所述日志簇中各日志的共同标识为模板,并确定所述日志簇中各日志中除去所述模板的其他信息,为参数;其中,所述模板为描述系统事件的静态的关键字,所述参数为应用程序在运行期间的变量的值;
在得到新的测试日志时,基于所述新的测试日志与所述模板之间的相似度,确定所述新的测试日志对应的日志簇,并将所述新的测试日志归属到所述新的测试日志对应的日志簇中;并对所述新的测试日志进行解析,得到新的模板和新的参数。9.一种异常日志片段的获取装置,其特征在于,所述装置包括:获取单元,用于获取测试日志;所述测试日志为对应用程序进行稳定性测试时生成的运行日志;提取单元,用于根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段;其中,所述预设正则表达式为基于所述应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。10.一种电子设备,其特征在于,所述电子设备包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8中任一项所述的方法。

技术总结
本申请提供一种异常日志片段的获取方法、装置、设备及存储介质,涉及数据处理技术领域。该方法包括:获取测试日志;所述测试日志为对应用程序进行稳定性测试时生成的运行日志;根据预设正则表达式,从所述测试日志中提取出异常日志片段,并保存所述异常日志片段;其中,所述预设正则表达式为基于所述应用程序出现异常问题时,每种不同异常问题对应的已知异常日志中关键字段信息所生成的正则表达式。本申请的方案,可自动提取出异常日志片段,而无需研发测试人员再去人工一一查找,不仅实现了异常日志的自动化提取,节省了研发测试人员的时间,提高了工作效率;也降低了人为因素对提取准确度的影响,提高了异常日志的提取准确率。提高了异常日志的提取准确率。提高了异常日志的提取准确率。


技术研发人员:郝有健 朱珊珊 张伟龙
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.06.12
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐