日志生成方法、装置、电子设备及存储介质与流程

文档序号:33561383发布日期:2023-03-22 14:33阅读:71来源:国知局
日志生成方法、装置、电子设备及存储介质与流程

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.记录响应操作指令序列运行预处理程序的过程,以生成运行记录;
28.根据目标监测范围在运行记录中获取目标子代码是否被执行的信息,以生成目标子代码的运行信息。
29.在一些实施方式中,代码长度信息包括第一代码长度与第二代码长度,根据携带的代码长度信息与标识代码确定目标监测范围,包括;
30.根据第一代码长度与标识代码的代码位置确定目标监测开端;
31.根据第二代码长度与标识代码的代码位置确定目标监测末端;
32.以目标监测开端与目标监测末端之间的代码范围作为目标监测范围。
33.在一些实施方式中,在监测记录中提取目标子代码出现运行故障的故障记录,包括:
34.在监测记录中查找表征出现运行故障的故障字符串,并确认每个故障字符串在监测记录中的行坐标;
35.根据行坐标在监测记录中确定至少一个记录行段;
36.将对应的行坐标连续的记录行段进行合并,得到合并段落;
37.当合并段落中故障字符串的数量大于预设的数量阈值时,以合并段落作为故障记录。
38.第二方面,本技术实施例还提供一种日志生成装置,包括:
39.指令处理模块,用于获取日志生成指令,并解析所述日志生成指令确定待监测程序、目标监测信息与日志模板;
40.代码修改模块,用于根据所述目标监测信息修改所述待监测程序的程序代码以得到预处理程序,其中,所述预处理程序的程序代码包含有目标子代码;
41.运行监测模块,用于响应输入的操作指令序列运行所述预处理程序,并在监测到所述目标子代码被执行时生成对应的监测记录;
42.故障提取模块,用于在所述监测记录中提取所述目标子代码出现运行故障的故障记录;
43.日志生成模块,用于识别所述日志模板中的故障记录区域,并将所述故障记录添加至所述故障记录区域以生成目标日志。
44.第三方面,本技术实施例还提供一种电子设备,电子设备包括处理器、存储器、存储在存储器上并可被处理器执行的计算机程序以及用于实现处理器和存储器之间的连接通信的数据总线,其中计算机程序被处理器执行时,实现如本技术说明书提供的任一项日
志生成方法的步骤。
45.第四方面,本技术实施例还提供一种存储介质,用于计算机可读存储,其特征在于,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如本技术说明书提供的任一项日志生成方法的步骤。
46.综上,本技术实施例提供一种日志生成方法、装置、电子设备及存储介质,其中,该方法包括:获取日志生成指令,并解析日志生成指令确定待监测程序、目标监测信息与日志模板;根据目标监测信息修改待监测程序的程序代码以得到预处理程序,其中,预处理程序的程序代码包含有目标子代码;响应输入的操作指令序列运行预处理程序,并在监测到目标子代码被执行时生成对应的监测记录;在监测记录中提取目标子代码出现运行故障的故障记录;识别日志模板中的故障记录区域,并将故障记录添加至故障记录区域以生成目标日志。通过在响应输入的操作指令序列运行预处理程序之前根据目标监测信息修改待监测程序,得到程序代码包含有目标子代码的预处理程序,并在监测到目标子代码被执行时生成对应的监测记录,从而生成可读性高且便于提取程序故障记录、重点功能运行状况等关键信息的日志。
附图说明
47.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1为本技术实施例提供的一种日志生成方法的流程示意图;
49.图2为本技术实施例提供的一种日志生成方法中预处理程序生成步骤的流程示意图;
50.图3为图2提供的预处理程序生成步骤中待监测代码确认步骤的流程示意图;
51.图4为本技术实施例提供的一种日志生成方法的一种应用场景示意图;
52.图5为本技术实施例提供的一种日志生成方法中生成目标日志的场景示意图;
53.图6为本技术实施例提供的一种日志生成装置的模块结构示意图;
54.图7为本技术实施例提供的一种电子设备的结构示意框图。
具体实施方式
55.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
56.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
57.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
58.在目前的医疗场景中,医疗机构往往提供网站程序或应用程序以供用户查询医疗信息,例如,用户可以通过网站程序便捷地查询提供医疗服务的地址信息,又或者是查询医疗服务的预约信息。
59.而程序的代码在被运行时会产生相应的运行日志,在对程序进行监测或维护时需要用到这些运行日志。但是在程序被大量地使用时,随之生成的运行日志较为冗长,因此难以从运行日志中提取出程序运行故障的记录以及程序中重点功能的运行状况,使得对程序进行维护的较为困难且成本较高。
60.而程序的代码在被运行时会产生相应的运行日志,在对程序进行监测或维护时需要用到这些运行日志。但是在程序被大量地使用时,随之生成的运行日志较为冗长,因此难以从运行日志中提取出程序运行故障的记录以及程序中重点功能的运行状况,使得对程序进行维护的较为困难且成本较高。
61.为解决上述问题,本技术实施例提供一种日志生成方法、装置、电子设备及存储介质,其中,该日志生成方法可应用于电子设备,该电子设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理、穿戴式设备等终端设备,也可以是服务器,其中,服务器可以为独立的服务器,也可以为服务器集群。
62.具体地,该方法包括获取日志生成指令,并解析日志生成指令确定待监测程序、目标监测信息与日志模板;根据目标监测信息修改待监测程序的程序代码以得到预处理程序,其中,预处理程序的程序代码包含有目标子代码;响应输入的操作指令序列运行预处理程序,并在监测到目标子代码被执行时生成对应的监测记录;在监测记录中提取目标子代码出现运行故障的故障记录;识别日志模板中的故障记录区域,并将故障记录添加至故障记录区域以生成目标日志。通过在响应输入的操作指令序列运行预处理程序之前根据目标监测信息修改待监测程序,得到程序代码包含有目标子代码的预处理程序,并在监测到目标子代码被执行时生成对应的监测记录,从而生成可读性高且便于提取程序故障记录、重点功能运行状况等关键信息的日志。
63.下面结合附图,对本技术的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
64.请参照图1,图1为本技术实施例提供的一种日志生成方法的流程示意图。
65.如图1所示,该日志生成方法包括步骤s1至步骤s5。
66.步骤s1:获取日志生成指令,并解析日志生成指令确定待监测程序、目标监测信息与日志模板。
67.本实施例中,以该日志生成方法应用于独立的服务器为例进行说明,但不局限于日志生成方法仅可以用于独立的服务器。执行本方法的服务器具体用于对网站程序或应用程序的程序运行提供的软件及硬件上的支持,举例而言,服务器可以对多个程序进行运行及维护。
68.当接收到日志生成指令时,服务器解析日志生成指令确定待监测程序、目标监测信息与日志模板。举例而言,日志生成指令可以是由用户输入,也可以是服务器在预设的触发条件下触发生成,还可以是由与服务器通信连接的其它设备生成并输入。
69.具体的,日志生成指令用于指示服务器在对指定的待监测程序进行运行时进行监控操作并生成对应的日志,且在本技术实施例中,日志生成指令至少携带有目标监测信息、
日志模板及待监测程序的程序信息,服务器可解析日志生成指令获取目标监测信息与日志模板,并可解析日志生成指令中携带的待监测程序的程序信息以确定指示的待监测程序。
70.具体的,目标监测信息表征的是待监测程序的程序代码中需要被监测的部分代码,示例性地,目标监测信息携带有功能信息和位置信息,服务器可根据目标监测信息携带的功能信息和位置信息确定需要监控的代码内容,应理解的是,功能信息是程序代码中对应需要监测的功能的代码的信息,位置信息是程序代码中需要监测的代码位置,其中的代码位置具体是需要监测的代码在整个程序代码中的相对位置。
71.以医疗场景为例,医疗机构往往提供程序以供用户查询医疗信息,而在对程序进行监测或维护时需要用到所述程序的运行日志,例如是对于运行日志中对应着程序故障记录、程序中重点功能的运行状况的日志内容,可用于后续对运行日志进行分析,并根据分析结果维护程序的过程。基于此,目标监测信息中携带有与重点功能对应的功能信息和位置信息,以使执行本方法的服务器根据目标监测信息中携带的功能信息和位置信息确定待监测程序的程序代码中需要被监测的部分代码。
72.步骤s2:根据目标监测信息修改待监测程序的程序代码以得到预处理程序,其中,预处理程序的程序代码包含有目标子代码。
73.在获取目标监测信息并确定待监测程序之后,首先是调取出待监测程序的程序代码,示例性地,待监测程序的程序代码可以存储在服务器中,服务器可以根据日志生成指令调取出该待监测程序的程序代码。在此之后,服务器根据目标监测信息修改待监测程序的程序代码以得到预处理程序,其中,预处理程序的程序代码包含有目标子代码。应理解的是,目标子代码对应着待监测程序中待监测的重点功能。
74.如图2所示,在一些实施方式中,步骤s2中根据目标监测信息修改待监测程序的程序代码以得到预处理程序,具体包括步骤s21-步骤s23:
75.步骤s21:根据目标监测信息在待监测程序的程序代码中确定待监测代码;
76.步骤s22:对待监测代码进行修改,以使待监测代码包含有对应的标识代码;
77.步骤s23:根据待监测代码与待监测程序的程序代码生成预处理程序。
78.具体的,执行本方法的设备首先是根据目标监测信息在待监测程序的程序代码中确定待监测代码,然后对待监测代码进行修改,以使待监测代码包含有对应的标识代码,再根据修改后的待监测代码与待监测程序的程序代码生成预处理程序。其中,对待监测代码进行修改例如是在待监测代码中插入标识代码,以使待监测代码包含有对应的标识代码。
79.如图3所示,在一些实施方式中,待监测程序的程序代码包括若干代码段;
80.对应地,步骤s21中根据目标监测信息在待监测程序的程序代码中确定待监测代码,具体包括步骤s211-步骤s213:
81.步骤s211:解析目标监测信息获取与待监测代码对应的功能信息和位置信息;
82.步骤s212:根据功能信息在待监测程序的若干代码段中确定目标代码段;
83.步骤s213:根据位置信息在目标代码段确定待监测代码。
84.具体的,执行本方法的服务器首先解析目标监测信息获取与待监测代码对应的功能信息和位置信息,然后根据功能信息在待监测程序的若干代码段中确定目标代码段,根据位置信息在目标代码段确定待监测代码。
85.具体的,目标监测信息携带有功能信息和位置信息,服务器可根据目标监测信息
携带的功能信息和位置信息确定需要监控的代码内容,应理解的是,功能信息是程序代码中对应需要监测的功能的代码的信息,位置信息是程序代码中需要监测的代码位置,其中的代码位置具体是需要监测的代码在整个程序代码中的相对位置。
86.在一些实施方式中,步骤s22中对待监测代码进行修改,具体包括:
87.在待监测代码中插入携带有代码长度信息的标识代码。
88.具体的,对待监测代码进行修改旨在对待监测代码进行标记,以使服务器在运行修改后的程序代码时,能快速识别出需要监测的代码内容。基于此,执行本方法的服务器在修改待监测代码时,具体是在待监测代码中插入携带有代码长度信息的标识代码。
89.服务器在对待监测代码进行修改后,根据待监测代码与待监测程序的程序代码生成预处理程序。
90.在一些实施方式中,步骤s23中根据待监测代码与待监测程序的程序代码生成预处理程序,具体包括:将待监测程序的程序代码进行分类得到待监测代码与非监测代码,其中,待监测代码为与目标监测信息匹配的部分代码,而非监测代码为待监测程序的程序代码中除所述待监测代码以外的至少部分代码;在确定待监测代码与非监测代码后,根据待监测代码在待监测程序的程序代码中的相对位置,将修改后的待监测代码与非监测代码合并为预处理程序的程序代码,即可由该程序代码对应生成预处理程序。
91.步骤s3:响应输入的操作指令序列运行预处理程序,并在监测到目标子代码被执行时生成对应的监测记录。
92.请参阅图4,图4为本技术实施例提供的一种日志生成方法的一种应用场景示意图。
93.如图4所示,服务器100用于执行本技术提供的日志生成方法,服务器100还用于与外部的至少一个终端设备200进行通信交互,且交互的具体过程至少包括:终端设备200向服务器100输出操作指令序列,其中,操作指令序列具体是终端设备输出的一系列指令,可以包括待监测程序在运行时,用户操作终端设备向服务器100输出的第一操作指令以及用户基于服务器100对第一操作指令的反馈所操作产生的第二操作指令或其他更多指令。以本方法及执行本方法的服务器100应用于医疗场景为例,在用户需要登记医疗信息或查询医疗信息时,可向运行对应程序的服务器100输出对应的操作指令序列,其中,操作指令序列表征了用户的医疗信息。然后,服务器100对操作指令序列进行解析以获取对应的医疗信息,并对医疗信息进行登记和存储。进一步地,操作指令序列还可以表征用户的查询操作,服务器100还可以根据操作指令序列向用户使用的终端设备200输出响应信息序列,其中,响应信息序列表征服务器100在操作指令序列指示下进行医疗信息查询所得到的查询结果。
94.在一些实施方式中,步骤s22中对待监测代码进行修改具体包括:在待监测代码中插入携带有代码长度信息的标识代码;对应地,步骤s3中,响应输入的操作指令序列运行预处理程序,包括:
95.读取并运行预处理程序中与操作指令序列对应的部分程序代码;
96.当读取到标识代码时,根据携带的代码长度信息与标识代码确定目标监测范围;
97.根据目标代码范围与操作指令序列确定目标子代码的运行信息,其中,运行信息至少包括目标子代码是否被执行的信息。
98.具体的,修改后的待监测代码中包括标识代码,且标识代码中携带有代码长度信息,其中,代码长度信息表征目标代码的代码长度。执行本方法的服务器在运行预处理程序时,首先是接收操作指令序列,并根据当前接收到的操作指令序列读取及运行操作指令序列对应的部分程序代码,服务器还在读取的过程中检测是否读取到标识代码。
99.当确定读取到标识代码时,服务器根据携带的代码长度信息与标识代码确定目标监测范围。在此之后,根据目标代码范围与操作指令序列确定目标子代码的运行信息,其中,运行信息至少包括目标子代码是否被执行的信息。理解的是,目标子代码对应着待监测程序中待监测的重点功能,当目标子代码被执行时,表征用户正在使用待监测程序中待监测的重点功能。
100.在一些实施方式中,根据携带的代码长度信息与操作指令序列确定目标子代码的运行信息,具体包括:
101.记录响应操作指令序列运行预处理程序的过程,以生成运行记录;
102.根据目标监测范围在运行记录中获取目标子代码是否被执行的信息,以生成目标子代码的运行信息。
103.具体的,服务器在接收到操作指令序列中的任一操作指令时,响应当前接收到的操作指令运行预处理程序,并且记录预处理程序响应操作指令序列运行预处理程序的过程以生成运行记录。在生成运行记录之后,根据目标监测范围在运行记录中获取目标子代码是否被执行的信息,而目标子代码的运行信息至少包括目标子代码是否被执行的信息,因此在获取目标子代码是否被执行的信息之后,服务器生成目标子代码的运行信息。应理解的是,目标监测范围即是待监测的目标子代码在预处理程序的程序代码中的实际代码范围。
104.在一些实施方式中,代码长度信息包括第一代码长度与第二代码长度,根据携带的代码长度信息与标识代码确定目标监测范围,具体包括;
105.根据第一代码长度与标识代码的代码位置确定目标监测开端;
106.根据第二代码长度与标识代码的代码位置确定目标监测末端;
107.以目标监测开端与目标监测末端之间的代码范围作为目标监测范围。
108.易理解的是,第一代码长度对应的是从目标监测开端到标识代码之间的代码长度,第二代码长度对应的是从标识代码到目标监测末端之间的代码长度,而从目标监测开端到目标监测末端之间的代码范围即是目标子代码实际的代码长度。
109.基于此,服务器根据第一代码长度与标识代码的代码位置确定目标监测开端,具体是将从标识代码的代码位置往前推第一代码长度的位置作为目标监测开端。服务器还根据第二代码长度与标识代码的代码位置确定目标监测末端,具体是将从标识代码的代码位置往后推第二代码长度的位置作为目标监测开端。然后以目标监测开端与目标监测末端之间的代码范围作为服务器实际监测的目标监测范围。
110.步骤s4:在监测记录中提取目标子代码出现运行故障的故障记录。
111.应理解的是,在对程序进行监测或维护时需要根据程序运行的故障记录进行分析。基于此,服务器在生成监测记录之后,在监测记录中提取目标子代码出现运行故障的故障记录。
112.在一些实施方式中,在监测记录中提取目标子代码出现运行故障的故障记录,包
括:
113.在监测记录中查找表征出现运行故障的故障字符串,并确认每个故障字符串在监测记录中的行坐标;
114.根据行坐标在监测记录中确定至少一个记录行段;
115.将对应的行坐标连续的记录行段进行合并,得到合并段落;
116.当合并段落中故障字符串的数量大于预设的数量阈值时,以合并段落作为故障记录。
117.具体的,服务器在监测记录中查找表征出现运行故障的故障字符串,并确认每个故障字符串在监测记录中的行坐标,根据行坐标在监测记录中确定至少一个记录行段,然后将对应的行坐标连续的记录行段进行合并,得到合并段落。当合并段落中故障字符串的数量大于预设的数量阈值时,以合并段落作为故障记录,其中,上述数量阈值可根据具体场景设置。
118.示例性地,故障字符串比如是“failed”、“error”及“wrong”等字符。以下以故障字符串为“failed”作为例子进行具体说明:
119.在监测记录中查找表征出现运行故障的故障字符串“failed”,并确认每个故障字符串“failed”在监测记录中的行坐标,根据“failed”的行坐标在监测记录中确定至少一个记录行段,应理解的是,记录行段即为故障字符串“failed”所在的行。
120.在确定至少一个记录行段后,服务器将对应的行坐标连续的记录行段进行合并得到合并段落,并同时监测合并段落中的故障字符串“failed”的数量。当合并段落中故障字符串的数量大于预设的数量阈值时,以合并段落作为故障记录。例如,当监测记录中的第2行、第7行、第8行、第9行及第13行均为包含故障字符串“failed”的记录行段,将对应的行坐标连续的第7行、第8行及第9行的记录行段进行合并得到合并段落。而当第7行、第8行、第9行中的故障字符串“failed”的数量分别为1、3、1时,可确定合并段落中故障字符串“failed”的数量为5,然后在合并段落中故障字符串的数量大于预设的数量阈值的情况下,以合并段落作为故障记录。
121.在一些实施方式中,在当合并段落中故障字符串的数量大于预设的数量阈值时,以合并段落作为故障记录之前还包括:根据记录行段的行数确定数量阈值。具体的,设定数量阈值与记录行段的行数正相关,即记录行段的行数越多,数量阈值的数值越大。应理解的是,具体设定数量阈值与记录行段的行数正相关,便于根据记录行段灵活调整故障记录的确认条件,且当可根据合并段落中故障字符串的密度判断合并段落是否为故障记录。
122.步骤s5:识别日志模板中的故障记录区域,并将故障记录添加至故障记录区域以生成目标日志。
123.在提取出故障记录后,执行本方法的服务器识别出日志模板中的故障记录区域,并至少将故障记录添加至故障记录区域以生成目标日志,其中,日志模板是解析日志生成指令所获得的。
124.示例性地,如图5所示,日志模板中至少设置有故障记录区域a,在生成目标日志的过程中至少需要将故障记录添加至故障记录区域a。由此,在后续根据目标日志对程序的运行进行分析时,可以便捷地从故障记录区域a中读取故障记录,以获取程序运行出现故障的具体记录,提高目标日志的可读性。
125.进一步地,日志模板中还包括运行记录区域b,本方法还包括将监测记录添加至日志模板中的运行记录区域b,以将目标子代码实际的运行过程完整地呈现,为程序运行的分析提供另一种分析依据。
126.综上,本技术通过在运行预处理程序之前根据目标监测信息修改待监测程序,得到程序代码包含有目标子代码的预处理程序,然后借助目标子代码对待监测程序中重点功能的运行情况进行监控,从而得到重点功能运行状况等关键信息,便于对程序的运行进行分析。另一方面,本技术通过监测记录中的故障字符串将目标子代码出现运行故障的故障记录,并根据故障记录生成目标日志,便于从目标日志中读取程序运行出现故障的记录,大大提高了根据目标日志对程序运行进行分析的效果。
127.请参阅图6,图6为本技术实施例提供的日志生成装置的结构示意性框图。
128.如图6所示,日志生成装置300,可应用于电子设备,日志生成装置200包括指令处理模块301、代码修改模块302、运行监测模块303、故障提取模块304、日志生成模块305。
129.其中,指令处理模块301,用于获取日志生成指令,并解析所述日志生成指令确定待监测程序、目标监测信息与日志模板;
130.代码修改模块302,用于根据所述目标监测信息修改所述待监测程序的程序代码以得到预处理程序,其中,所述预处理程序的程序代码包含有目标子代码;
131.运行监测模块303,用于响应输入的操作指令序列运行所述预处理程序,并在监测到所述目标子代码被执行时生成对应的监测记录;
132.故障提取模块304,用于在所述监测记录中提取所述目标子代码出现运行故障的故障记录;
133.日志生成模块305,用于识别所述日志模板中的故障记录区域,并将所述故障记录添加至所述故障记录区域以生成目标日志。
134.在一些实施方式中,代码修改模块302在根据目标监测信息修改待监测程序的程序代码以得到预处理程序时,包括:
135.根据目标监测信息在待监测程序的程序代码中确定待监测代码;
136.对待监测代码进行修改,以使待监测代码包含有对应的标识代码;
137.根据待监测代码与待监测程序的程序代码生成预处理程序。
138.在一些实施方式中,待监测程序的程序代码包括若干代码段;
139.代码修改模块302在根据目标监测信息在待监测程序的程序代码中确定待监测代码时,包括:
140.解析目标监测信息获取与待监测代码对应的功能信息和位置信息;
141.根据功能信息在待监测程序的若干代码段中确定目标代码段;
142.根据位置信息在目标代码段确定待监测代码。
143.在一些实施方式中,代码修改模块302在对待监测代码进行修改时,包括:
144.在待监测代码中插入标识代码,标识代码携带有代码长度信息;
145.运行监测模块303在响应输入的操作指令序列运行预处理程序时,包括:
146.读取并运行预处理程序中与操作指令序列对应的部分程序代码;
147.当读取到标识代码时,根据携带的代码长度信息与标识代码确定目标监测范围;
148.根据目标代码范围与操作指令序列确定目标子代码的运行信息,其中,运行信息
至少包括目标子代码是否被执行的信息。
149.在一些实施方式中,运行监测模块303在根据携带的代码长度信息与操作指令序列确定目标子代码的运行信息时,包括:
150.记录响应操作指令序列运行预处理程序的过程,以生成运行记录;
151.根据目标监测范围在运行记录中获取目标子代码是否被执行的信息,以生成目标子代码的运行信息。
152.在一些实施方式中,代码长度信息包括第一代码长度与第二代码长度,运行监测模块303在根据携带的代码长度信息与标识代码确定目标监测范围时,包括;
153.根据第一代码长度与标识代码的代码位置确定目标监测开端;
154.根据第二代码长度与标识代码的代码位置确定目标监测末端;
155.以目标监测开端与目标监测末端之间的代码范围作为目标监测范围。
156.在一些实施方式中,故障提取模块304在监测记录中提取目标子代码出现运行故障的故障记录时,包括:
157.在监测记录中查找表征出现运行故障的故障字符串,并确认每个故障字符串在监测记录中的行坐标;
158.根据行坐标在监测记录中确定至少一个记录行段;
159.将对应的行坐标连续的记录行段进行合并,得到合并段落;
160.当合并段落中故障字符串的数量大于预设的数量阈值时,以合并段落作为故障记录。
161.请参阅图7,图7为本技术实施例提供的电子设备的结构示意性框图。
162.如图7所示,电子设备300包括处理器301和存储器302,处理器301和存储器302通过总线303连接,该总线比如为i2c(inter-integrated circuit)总线。
163.具体地,处理器301用于提供计算和控制能力,支撑整个电子设备的运行。处理器301可以是中央处理单元(central processing unit,cpu),该处理器301还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
164.具体地,存储器302可以是flash芯片、只读存储器(rom,read-only memory)磁盘、光盘、u盘或移动硬盘等。
165.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术实施例方案相关的部分结构的框图,并不构成对本技术实施例方案所应用于其上的电子设备的限定,具体地电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
166.其中,处理器301用于运行存储在存储器中的计算机程序,并在执行计算机程序时实现本技术实施例提供的任意一种日志生成方法。
167.在一些实施方式中,处理器301用于运行存储在存储器中的计算机程序,并在执行计算机程序时实现如下步骤:
168.获取日志生成指令,并解析日志生成指令确定待监测程序、目标监测信息与日志模板;
169.根据目标监测信息修改待监测程序的程序代码以得到预处理程序,其中,预处理程序的程序代码包含有目标子代码;
170.响应输入的操作指令序列运行预处理程序,并在监测到目标子代码被执行时生成对应的监测记录;
171.在监测记录中提取目标子代码出现运行故障的故障记录;
172.识别日志模板中的故障记录区域,并将故障记录添加至故障记录区域以生成目标日志。
173.在一些实施方式中,处理器301在根据目标监测信息修改待监测程序的程序代码以得到预处理程序时,包括:
174.根据目标监测信息在待监测程序的程序代码中确定待监测代码;
175.对待监测代码进行修改,以使待监测代码包含有对应的标识代码;
176.根据待监测代码与待监测程序的程序代码生成预处理程序。
177.在一些实施方式中,待监测程序的程序代码包括若干代码段;
178.处理器301在根据目标监测信息在待监测程序的程序代码中确定待监测代码时,包括:
179.解析目标监测信息获取与待监测代码对应的功能信息和位置信息;
180.根据功能信息在待监测程序的若干代码段中确定目标代码段;
181.根据位置信息在目标代码段确定待监测代码。
182.在一些实施方式中,处理器301在对待监测代码进行修改时,包括:
183.在待监测代码中插入标识代码,标识代码携带有代码长度信息;
184.处理器301在响应输入的操作指令序列运行预处理程序时,包括:
185.读取并运行预处理程序中与操作指令序列对应的部分程序代码;
186.当读取到标识代码时,根据携带的代码长度信息与标识代码确定目标监测范围;
187.根据目标代码范围与操作指令序列确定目标子代码的运行信息,其中,运行信息至少包括目标子代码是否被执行的信息。
188.在一些实施方式中,处理器301在根据携带的代码长度信息与操作指令序列确定目标子代码的运行信息时,包括:
189.记录响应操作指令序列运行预处理程序的过程,以生成运行记录;
190.根据目标监测范围在运行记录中获取目标子代码是否被执行的信息,以生成目标子代码的运行信息。
191.在一些实施方式中,代码长度信息包括第一代码长度与第二代码长度,处理器301在根据携带的代码长度信息与标识代码确定目标监测范围时,包括;
192.根据第一代码长度与标识代码的代码位置确定目标监测开端;
193.根据第二代码长度与标识代码的代码位置确定目标监测末端;
194.以目标监测开端与目标监测末端之间的代码范围作为目标监测范围。
195.在一些实施方式中,处理器301执行在监测记录中提取目标子代码出现运行故障的故障记录时,包括:
196.在监测记录中查找表征出现运行故障的故障字符串,并确认每个故障字符串在监测记录中的行坐标;
197.根据行坐标在监测记录中确定至少一个记录行段;
198.将对应的行坐标连续的记录行段进行合并,得到合并段落;
199.当合并段落中故障字符串的数量大于预设的数量阈值时,以合并段落作为故障记录。
200.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述日志生成方法实施例中的对应过程,在此不再赘述。
201.本技术实施例还提供一种存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如本技术说明书实施例提供的任一项日志生成方法的步骤。
202.其中,存储介质可以是前述实施例的电子设备的内部存储单元,例如电子设备的硬盘或内存。存储介质也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
203.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
204.应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
205.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上,仅为本技术的
具体实施例,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1