一种日志收集方法、装置、终端设备及存储介质与流程

文档序号:15271384发布日期:2018-08-28 22:28阅读:122来源:国知局
本发明涉及计算机
技术领域
:,尤其涉及一种日志收集方法、装置、终端设备及存储介质。
背景技术
::在现有的多系统问题定位过程中,主要依赖运维人员的专业技能和对系统的熟悉程度进行问题定位,导致问题定位的周期较长,问题定位效率低,尤其是对具有上下文依赖关系的问题进行定位时,由于在问题定位过程中各个系统之间相互独立,导致其问题定位需要的时间更长,投入的人力更多。例如,随着web应用之间的复杂性和相关性的提高,各网站功能的多样化和交互性为用户提供了多种可能的浏览路径,用户在网站上的操作过程日益错综复杂。在应用程序或服务器系统等运作时,运行过程会产生日志文件,日志文件中记载了用户、时间以及动作等相关操作的描述。当用户发送一个请求时,该请求经过多个应用程序或服务器系统调用,并返回相应的结果。当请求返回调用失败的结果时,运维人员通常需要通过查看处理该请求的日志来定位故障,但由于日志文件分布在不同服务器系统和不同存储路径中,对于海量的日志文件,在没有特殊的关联信息的情况下难以确定有效日志信息,从而影响到问题定位的效率。技术实现要素:本发明实施例提供一种日志收集方法、装置、终端设备及存储介质,以解决现有的多系统问题定位过程中问题定位效率较低的问题。第一方面,本发明实施例提供一种日志收集方法,包括:接收用户发送的应用请求消息,并生成与所述应用请求消息对应的唯一标识码;将所述唯一标识码添加到所述应用请求消息中,形成请求指令;在对所述请求指令的响应处理过程中,将所述唯一标识码在所述响应处理过程经过的应用系统或数据库中传递,使得所述唯一标识码被写入所述应用系统的日志信息中或所述数据库中;将包含所述唯一标识码的日志信息输出到日志库;若所述请求指令执行失败,则根据所述请求指令中包含的所述唯一标识码,从所述日志库中提取包含所述唯一标识码的目标日志信息;按照所述目标日志信息的生成时间顺序输出所述目标日志信息。第二方面,本发明实施例提供一种日志收集装置,包括:标识生成模块,用于接收用户发送的应用请求消息,并生成与所述应用请求消息对应的唯一标识码;标识添加模块,用于将所述唯一标识码添加到所述应用请求消息中,形成请求指令;标识传递模块,用于在对所述请求指令的响应处理过程中,将所述唯一标识码在所述响应处理过程经过的应用系统或数据库中传递,使得所述唯一标识码被写入所述应用系统的日志信息中或所述数据库中;日志收集模块,用于将包含所述唯一标识码的日志信息输出到日志库;日志提取模块,用于若所述请求指令执行失败,则根据所述请求指令中包含的所述唯一标识码,从所述日志库中提取包含所述唯一标识码的目标日志信息;日志输出模块,用于按照所述目标日志信息的生成时间顺序输出所述目标日志信息。第三方面,本发明实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述日志收集方法的步骤。第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述日志收集方法的步骤。本发明实施例提供的一种日志收集方法、装置、终端设备及存储介质中,通过生成与用户发送的应用请求消息相对应的唯一标识码,并将该唯一标识码在请求指令的响应处理过程经过的应用系统或数据库中传递,使得该唯一标识码被记录在整个响应处理过程生成的日志信息中,并将该日志信息输出到日志库,实现对分布在不同应用系统或者数据库中的日志信息形成有效的收集,当请求指令执行失败时,能够根据该唯一标识码从日志库中获取该请求指令在被响应处理过程中生成的目标日志信息,并将目标日志信息按照生成时间的顺序排列输出,形成日志链,从而将请求指令在被响应处理过程中生成的日志信息完整的串联起来,使得多个应用系统之间的请求调用过程清晰透明,从而有利于相关运维人员能够根据目标日志信息中包含的上下文关系诊断请求指令执行失败的原因,便于快速准确的定位问题,有效提高问题定位效率。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1中提供的日志收集方法的流程图;图2是本发明实施例1中提供的日志收集方法中步骤s3的实现流程图;图3是本发明实施例1中提供的日志收集方法中步骤s32的实现流程图;图4是本发明实施例1中提供的日志收集方法中输出关键日志信息的实现流程图;图5是本发明实施例2中提供的日志收集装置的示意图;图6是本发明实施例4中提供的终端设备的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1请参阅图1,图1示出了本发明实施例提供的日志收集方法的实现流程。该日志收集方法应用在各个企事业单位的日志收集系统中,实现了将请求指令在被应用系统或数据库响应处理过程中生成的日志关联聚合起来,用于提高问题定位的效率。如图1所示,该日志收集方法包括步骤s1至步骤s6,详述如下:s1:接收用户发送的应用请求消息,并生成与应用请求消息对应的唯一标识码。在本发明实施例中,唯一标识码用于标识应用请求消息的唯一性,具体地,用户在客户端发送出应用请求消息后,日志收集系统根据用户发送的应用请求消息生成对应的唯一标识码(universallyuniqueidentifier,uuid),即不同的应用请求消息其对应的唯一标识码互不相同,例如,使用随机序列生成唯一标识码,随机序列具有唯一性,优选地,根据当前日期、应用请求消息的接收时间,以及机器设备号等信息进行组合生成该随机序列,具体可以使用以太网卡地址、纳秒级时间、主机芯片的标识码和随机数等数据,或者由用户根据需要进行定制,使得该唯一标识码具有全局唯一性。s2:将唯一标识码添加到应用请求消息中,形成请求指令。在本发明实施例中,将步骤s1生成的唯一标识码按照预设的格式添加到应用请求消息中,形成请求指令。需要说明的是,预设的格式具体可以是将唯一标识码添加到请求消息的消息头的预设字段或者将唯一标识码添加到消息内容的预设字段,具体可以根据应用的需要进行设置,此处不做限制。s3:在对请求指令的响应处理过程中,将唯一标识码在响应处理过程经过的应用系统或数据库中传递,使得唯一标识码被写入应用系统的日志信息中或数据库中。在本发明实施例中,在对步骤s2形成的请求指令的响应处理过程中,根据实际应用的需要往往会调用多个不同的应用系统中的应用程序或者访问多个不同数据库中的数据,在每个应用程序的执行过程或者数据库的数据处理过程中,首先从输入消息中提取唯一标识码,并将该唯一标识码写入当前应用系统生成的日志信息中,或者存入当前数据库中,然后在当前应用系统或当前数据库的处理完成后,将该唯一标识码随输出的消息传递到下一个应用系统或者数据库。例如,当通过步骤s2形成请求指令后,接收应用请求消息的当前应用系统会在本地日志中记录该唯一标识码和该应用请求消息的内容,在该请求指令被发送到下一个应用服务系统进行处理时,该应用服务系统服务在接收到传入的请求指令后,按照预设的格式从该请求指令中提取唯一标识码和应用请求消息,并在对该应用请求消息进行响应处理的过程中,将该唯一标识码记录到生成的日志信息中。通过将唯一标识码在该响应处理过程经过的每个应用系统或每个数据库中传递,使得该唯一标识码能够添加到响应处理请求指令过程生成的每一条日志信息和经过的每一个数据库中。s4:将包含唯一标识码的日志信息输出到日志库。在本发明实施例,根据日志信息中的唯一标识码,通过日志管理工具将包含唯一标识码的日志信息输出到指定的日志库中。日志库是根据具体应用的需要进行设置的日志输出目的地,具体可以是一个指定的数据库或者统一的日志管理服务器,对分布在不同应用系统或者数据库中的日志信息形成有效的收集。具体地,日志管理工具可以对日志包含的信息、日志的输出格式、日志信息输送的目的地等日志属性进行设置。优选地,可以通过使用日志框架log4j进行日志信息收集,通过log4j的配置文件实现对日志属性的设置。例如,在配置文件中使用[%x{uuid1}]定义日志变量uuid1,并配置日志变量uuid1的输出格式为%x,将日志变量uuid1的值按照%x的输出格式输出。s5:若请求指令执行失败,则根据请求指令中包含的唯一标识码,从日志库中提取包含唯一标识码的目标日志信息。在本发明实施例中,当用户发送的应用请求消息返回调用失败的异常情况时,即表明该请求指令执行失败,则根据该请求指令获取与该应用请求消息对应的唯一标识码,根据请该唯一标识码,从日志库中提取包含该唯一标识码的目标日志信息,以便相关人员可以通过目标日志信息中记录的内容诊断请求指令执行失败的原因。具体地,可以使用grep命令配合条件选项的参数和唯一标识码实现在存储日志的日志库中搜索符合要求的日志信息,并把匹配的日志信息打印输出。例如,通过grep获取命令:grep‘uuid2’*.log,获取含有该uuid2的*.log文件,将包含uuid2的请求指令在被响应处理过程中对应生成的日志信息全部输出。s6:按照目标日志信息的生成时间顺序输出该目标日志信息。在本发明实施例中,针对步骤s5获取到的目标日志信息,按照目标日志信息的生成时间顺序对目标日志信息进行排列,形成日志链,并将日志链输出到交互界面,从而将请求指令在被响应处理过程中生成的日志信息完整的串联起来,使得相关运维人员能够根据完整日志信息中包含的上下文关系对请求指令执行失败的原因进行分析,便于快速准确的定位问题。在图1对应的实施例中,通过生成与用户发送的应用请求消息相对应的唯一标识码,并将该唯一标识码在请求指令的响应处理过程经过的应用系统或数据库中传递,使得该唯一标识码被记录在整个响应处理过程生成的日志信息中,并将该日志信息输出到日志库,实现对分布在不同应用系统或者数据库中的日志信息形成有效的收集,当请求指令执行失败时,能够根据该唯一标识码从日志库中获取该请求指令在被响应处理过程中生成的目标日志信息,并将目标日志信息按照生成时间的顺序排列输出,形成日志链,从而将请求指令在被响应处理过程中生成的日志信息完整的串联起来,使得多个应用系统之间的请求调用过程清晰透明,从而有利于相关运维人员能够根据目标日志信息中包含的上下文关系诊断请求指令执行失败的原因,便于快速准确的定位问题,有效提高问题定位效率。接下来,在图1对应的实施例的基础之上,下面通过一个具体的实施例对步骤s3中提及的在对请求指令的响应处理过程中,将唯一标识码在响应处理过程经过的应用系统或数据库中传递,使得唯一标识码被写入应用系统的日志信息中或数据库中的具体实现方法进行详细说明。请参阅图2,图2示出了本发明实施例提供的步骤s3的具体实现流程,详述如下:s31:当响应处理过程经过不同的应用系统时,将唯一标识码添加到不同的应用系统之间的交互消息中,以使该唯一标识码通过交互消息进行传递。具体地,当响应处理过程经过不同的应用系统时,将该唯一标识码添加到httphead请求中,并通过网络传输协议进行传递,使得该唯一标识码被写入响应处理过程经过的应用系统的日志信息中。s32:当响应处理过程经过应用系统内部时,将唯一标识码在单线程或线程池中传递。在本发明实施例中,当响应处理过程经过应用系统内部时,在应用系统内部处理该请求指令可能为单线程处理方式或线程池处理方式,将唯一标识码在单线程或线程池中传递,使得该唯一标识码写入响应处理过程经过的应用系统内部的单线程或线程池的日志信息中。s33:当响应处理过程调用数据库中的数据表时,将唯一标识码记录在数据表的预设字段。具体地,在数据库的每个数据表中选择一个空闲字段作为预设字段,若数据表没有空闲字段则对该数据表新增一个字段作为预设字段,预设字段用于记录唯一标识码,当响应处理过程访问数据库的数据表中涉及的数据记录时,将唯一标识码记录在该数据记录的预设字段,以便相关运维人员在问题定位时,根据该唯一标识码能够在数据库中快速获取到相关的数据表和该数据表中涉及到的数据记录。例如,在数据库相应的表中添加该预设字段的具体设置方法如下:altertableemployeeaddavarchar(20)notnulldefault0;该语句是指在表employee中加入字段a,字段a的类型是varchar,字段a的大小为20字节,并且字段a不为空,其默认值是0。需要说明的是,预设字段的类型和大小等属性可以根据实际应用的需要进行设置,此处不做限制。在本发明实施例中,步骤s31、步骤s32和步骤s33之间没有必然的先后执行顺序,其可以是并列执行的关系。在图2对应的实施例中,通过将唯一标识码添加到不同应用系统之间的交互消息中,实现唯一标识码在不同应用系统之间的传递,通过将唯一标识码在单线程或者线程池中传递,实现唯一标识码在应用系统内部的传递,以及将唯一标识码记录在数据库的数据表的预设字段,实现唯一标识码在数据库中的传递,从而实现了唯一标识码在请求指令的响应处理过程经过的应用系统或数据库中进行全面完整的传递,使得在请求指令执行失败时,能够根据该唯一标识码从日志库中获取该请求指令在被响应处理过程中生成的完整日志链,以便相关运维人员能够根据该完整日志链进行快速准确的问题定位,有效提高问题定位效率。在图2对应的实施例的基础之上,下面通过一个具体的实施例对步骤s32中提及的当响应处理过程经过应用系统内部时,将唯一标识码在单线程或线程池中传递的具体实现方法进行详细说明。请参阅图3,图3示出了本发明实施例提供的步骤s32的具体实现流程,详述如下:s321:若响应处理过程经过应用系统内部时为单线程处理方式,则将唯一标识码传入该单线程,并在单线程的执行过程中传递该唯一标识码。在本发明实施例中,若响应处理过程经过应用系统内部时为单线程处理方式,则在该单线程开始执行时根据传入的唯一标识码,通过mdc.put()操作将该唯一标识码写入预设的日志变量中,该日志变量在日志配置文件中被预先设置,使得该唯一标识码在该单线程的执行过程中传递。例如,使用mdc.put(“mdc_trade_id”,uuid2)将唯一标识码uuid2写入日志变量mdc_trade_id中,其中,mdc(mappeddiagnosticcontext,映射诊断上下文)能够为每个线程建立一个日志存储空间。s322:若响应处理过程经过应用系统内部时为线程池处理方式,则在创建线程池之前获取每个线程的日志存储空间的内容,并在创建线程池的过程中进行push操作,以使该唯一标识码在线程池中传递,其中,push操作用于添加每个线程的日志存储空间的内容,该日志存储空间的内容包含唯一标识码。在本发明实施例中,若响应处理过程经过应用系统内部时为线程池处理方式,则在创建线程池之前使用mdc.getcontext().clone操作获取每个线程的日志存储空间记录的内容,该记录的内容包括唯一标识码和其他预设的日志变量的值,并在创建线程池的过程中进行mdc.push()操作,将每个线程的日志存储空间记录的日志变量的值添加到创建线程池的执行程序中,以使唯一标识码在线程池中每个线程的执行过程中传递。需要说明的是,mdc.getcontext()操作用于获取每个线程的存储空间的内容,在线程池中,若多个线程同时访问同一个资源,会出现线程竞争资源的情况,因此,对mdc.getcontext()做clone操作,避免线程资源竞争引发执行错误。在图3对应的实施例中,针对单线程处理方式,通过mdc.put()操作将唯一标识码写入预设的日志变量中,实现唯一标识码在单线程中的传递,针对线程池处理方式,在创建线程池之前使用mdc.getcontext().clone操作获取每个线程的日志存储空间的内容,并在创建线程池的过程中进行mdc.push()操作,将每个线程的日志存储空间的内容添加到线程池的日志存储空间中,实现唯一标识码在线程池中的传递,通过唯一标识码在单线程和线程池中的传递,为得到完整的日志链提供条件。在图1对应的实施例的基础上,在步骤s4将包含唯一标识码的日志信息输出到日志库之后,还可以进一步对日志库中的日志信息进行管理,如图4所示,该日志收集方法还包括:若日志库中存在日志生成时间早于预设时间的历史日志信息,则删除该历史日志信息。具体地,由于日志库中日志收集量大,占用内存空间较大,可以对日志库中的日志文件进行定期删除处理,每隔预定的时间间隔判断日志库中是否存在日志生成时间早于预设时间的历史日志信息,若存在,则删除该历史日志信息。需要说明的是,预设时间可以根据当前日志文件的大小进行动态调节,当日志文件较大时,该预设时间可以接近当前时间,即删除的历史日志信息相对增加,当日志文件较小时,该预设时间可以远离当前时间,即删除的历史日志信息相对减少。优选地,通过设置定时任务定时清理日志,例如使用crontab命令,该命令用于设置周期性被执行的指令。具体设置方法包括如下步骤(1)至步骤(3),具体说明如下:(1)执行“crontab-e”命令;(2)将***/1**/usr/bin/rm/openfalcon/apache-tomcat-7.0.57/bin/*.log-f>/dev/null2>&1写入对应的配置文件中;其中,“***/1**/usr/bin/rm/openfalcon/apache-tomcat-7.0.57/bin/*.log-f>/dev/null2>&1”是指每天清理一次/usr/bin/rm/openfalcon/apache-tomcat-7.0.57/bin/目录下以.log结尾的文件;(3)保存配置文件。在本发明实施中,通过定时删除日志生成时间早于预设时间的历史日志信息,释放日志库的内存,避免内存被过渡占用,有效提高各个应用系统的性能。在以上实施例的基础之上,在步骤s6按照目标日志信息的生成时间顺序输出目标日志信息之后,还可以对目标日志信息进行分析,如图4所示,该日志收集方法还包括:s71:根据预设的关键字对目标日志信息进行分析,确认关键日志信息。在本发明实施例中,根据预设的关键字对步骤s6得到的目标日志信息进行分析,具体地,在目标日志信息中搜索预设的关键字,并将包含该预设的关键字的日志信息确认为关键日志信息。预设的关键字具体可以是error、warn、notexit、failed等,还可以是时间、ip地址等,但并不限于此,其具体可以根据实际应用的需要进行设置,此处不做限制。进一步地,根据关键字得到的关键日志信息包括但不限于重要日志内容、服务器ip地址,以及运行时间等。重要日志内容包含了用户的操作信息、当前的程序的运行状态以及报错信息等,运维人员可以根据重要日志内容快速定位问题,对出现异常的服务器ip地址进行及时维护,同时,在面对复杂的问题时,可以通过关键日志信息的运行时间在日志链中快速找到其对应的上下文进行问题定位。s72:输出关键日志信息。具体地,关键日志信息的输出方式可以是直接将关键日志信息在日志链中进行标注,标注的方式可以是通过改变关键日志信息的字体或者颜色,以等使其区别于普通日志信息,以达到醒目的效果。关键日志信息的输出方式还可以是将关键日志信息单独输出到交互界面,或者将关键日志信息发送到预设的运维人员的信息接收地址中,具体的信息接收地址可以是邮箱或者即时通讯工具等,此处不做限制,使得相关运维人员能够及时对出现的问题进行处理,避免造成更大的损失。需要说明的是,发送关键日志信息的网络传输协议具体可以是超文本传输协议(hypertexttransferprotocol,http)、文件传输协议(filetransferprotocol,ftp)或简单邮件传输协议(simplemailtransferprotocol,smtp)等方式。在图4对应的实施例中,通过预设的关键字对目标日志信息进行分析,确认关键日志信息,并对关键日志信息进行及时的输出,使得运维人员可以根据关键日志信息进行及时的问题定位,从而使得出现的异常问题能够快速得到解决,避免造成更大的损失,提高问题定位和系统维护效率。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。实施例2对应于实施例1中的数据方法,图5示出与实施例1所示的日志收集方法一一对应的日志收集装置置,为了便于说明,仅示出了与本发明实施例相关的部分。如图5所示,该日志收集装置包括标识生成模块50、标识添加模块51、标识传递模块52、日志收集模块53、日志提取模块54和日志输出模块55。各功能模块详细说明如下:标识生成模块50,用于接收用户发送的应用请求消息,并生成与应用请求消息对应的唯一标识码;标识添加模块51,用于将唯一标识码添加到应用请求消息中,形成请求指令;标识传递模块52,用于在对请求指令的响应处理过程中,将唯一标识码在该响应处理过程经过的应用系统或数据库中传递,使得该唯一标识码被写入该应用系统的日志信息中或该数据库中;日志收集模块53,用于将包含唯一标识码的日志信息输出到日志库;日志提取模块54,用于若请求指令执行失败,则根据请求指令中包含的唯一标识码,从日志库中提取包含该唯一标识码的目标日志信息;日志输出模块55,用于按照目标日志信息的生成时间顺序输出目标日志信息。进一步地,标识传递模块52包括:第一传递单元520,用于当响应处理过程经过不同的应用系统时,将唯一标识码添加到不同的应用系统之间的交互消息中,以使唯一标识码通过交互消息进行传递;第二传递单元521,用于当响应处理过程经过应用系统内部时,将唯一标识码在单线程或线程池中传递;第三传递单元522,用于当响应处理过程调用数据库中的数据表时,将唯一标识码记录在数据表的预设字段。进一步地,第二传递单元521包括:单线程传递子单元5210,用于若响应处理过程经过应用系统内部时为单线程处理方式,则将唯一标识码传入单线程,并在单线程的执行过程中传递唯一标识码;线程池传递子单元5211,用于若响应处理过程经过应用系统内部时为线程池处理方式,则在创建线程池之前获取每个线程的日志存储空间的内容,并在线程池的处理过程中进行push操作,以使唯一标识码在线程池中传递,其中,push操作用于添加每个线程的日志存储空间的内容,日志存储空间的内容包含唯一标识码。进一步地,该日志收集装置还包括:日志删除模块56,用于若日志库中存在日志生成时间早于预设时间的历史日志信息,则删除历史日志信息。进一步地,该日志收集装置还包括:日志分析模块57,用于根据预设的关键字对目标日志信息进行分析,确认关键日志信息;关键日志输出模块58,用于输出关键日志信息。本实施例提供的一种日志收集装置中各模块实现各自功能的过程,具体可参考前述方法实施例1的描述,此处不再赘述。实施例3本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例1中日志收集方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例2中日志收集装置中各模块/单元的功能,为避免重复,这里不再赘述。实施例4图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62,例如日志收集程序。处理器60执行计算机程序62时实现上述各个日志收集方法实施例中的步骤,例如图1所示的步骤s1至步骤s6。或者,处理器60执行计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块50至模块55的功能。示例性的,计算机程序62可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器61中,并由处理器60执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序62在终端设备6中的执行过程。例如,计算机程序62可以被分割成标识生成模块、标识添加模块、标识传递模块、日志收集模块、日志提取模块和日志输出模块,各模块具体功能如下:标识生成模块,用于接收用户发送的应用请求消息,并生成与应用请求消息对应的唯一标识码;标识添加模块,用于将唯一标识码添加到应用请求消息中,形成请求指令;标识传递模块,用于在对请求指令的响应处理过程中,将唯一标识码在该响应处理过程经过的应用系统或数据库中传递,使得唯一标识码被写入该应用系统的日志信息中或该数据库中;日志收集模块,用于将包含唯一标识码的日志信息输出到日志库;日志提取模块,用于若请求指令执行失败,则根据请求指令中包含的唯一标识码,从日志库中提取包含该唯一标识码的目标日志信息;日志输出模块,用于按照目标日志信息的生成时间顺序输出目标日志信息。进一步地,标识传递模块包括:第一传递单元,用于当响应处理过程经过不同的应用系统时,将唯一标识码添加到不同的应用系统之间的交互消息中,以使唯一标识码通过交互消息进行传递;第二传递单元,用于当响应处理过程经过应用系统内部时,将唯一标识码在单线程或线程池中传递;第三传递单元,用于当响应处理过程调用数据库中的数据表时,将唯一标识码记录在数据表的预设字段。进一步地,第二传递单元包括:单线程传递子单元,用于若响应处理过程经过应用系统内部时为单线程处理方式,则将唯一标识码传入单线程,并在单线程的执行过程中传递唯一标识码;线程池传递子单元,用于若响应处理过程经过应用系统内部时为线程池处理方式,则在创建线程池之前获取每个线程的日志存储空间的内容,并在线程池的处理过程中进行push操作,以使唯一标识码在该线程池中传递,其中,push操作用于添加每个线程的日志存储空间的内容,日志存储空间的内容包含唯一标识码。进一步地,计算机程序62还可以被分割成:日志删除模块,用于若日志库中存在日志生成时间早于预设时间的历史日志信息,则删除历史日志信息。进一步地,计算机程序62还可以被分割成:日志分析模块,用于根据预设的关键字对目标日志信息进行分析,确认关键日志信息;关键日志输出模块,用于输出关键日志信息。终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。所称处理器60可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器61可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。存储器61也可以是终端设备6的外部存储设备,例如终端设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器61还可以既包括终端设备6的内部存储单元也包括外部存储设备。存储器61用于存储计算机程序以及终端设备所需的其他程序和数据。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1