一种日志记录的生成方法、装置、存储介质和服务器制造方法及图纸

技术编号:22135148 阅读:22 留言:0更新日期:2019-09-18 08:53
本发明专利技术涉及计算机技术领域,提出一种日志记录的生成方法、装置、存储介质和服务器。该日志记录的生成方法包括:在软件的运行过程中,若接收到操作请求,则产生一个uuid;获取当前执行的目标操作响应的源代码;检测所述源代码中是否包含与所述操作请求关联的标记符,所述软件包含的每个操作响应的源代码均预先添加与自身所响应的操作请求关联的标记符;若所述源代码中包含与所述操作请求关联的标记符,则为所述目标操作响应所生成的日志记录添加所述uuid。通过这样设置,对应于同一个操作请求的日志记录将包含同一个uuid,从而能够获知哪些日志记录对应于同一个操作请求,为bug的定位和分析提供了帮助。

A Logging Generation Method, Device, Storage Media and Server

【技术实现步骤摘要】
一种日志记录的生成方法、装置、存储介质和服务器
本专利技术涉及计算机
,尤其涉及一种日志记录的生成方法、装置、存储介质和服务器。
技术介绍
当各个软件启动时,为了追踪产生的bug,通常会使用日志文件来记录软件运行时关键的数据和操作。然而,由于每条日志记录之间的上下文关系并不明确,也即无法获知哪些日志记录是对应于同一个操作请求的,这给bug的定位和分析带来较大的困难。
技术实现思路
有鉴于此,本专利技术实施例提供了一种日志记录的生成方法、装置、存储介质和服务器,能够获知哪些日志记录对应于同一个操作请求,为bug的定位和分析提供帮助。本专利技术实施例的第一方面,提供了一种日志记录的生成方法,包括:在软件的运行过程中,若接收到操作请求,则产生一个uuid;获取当前执行的目标操作响应的源代码;检测所述源代码中是否包含与所述操作请求关联的标记符,所述软件包含的每个操作响应的源代码均预先添加与自身所响应的操作请求关联的标记符;若所述源代码中包含与所述操作请求关联的标记符,则为所述目标操作响应所生成的日志记录添加所述uuid。本专利技术实施例的第二方面,提供了一种日志记录的生成装置,包括:uuid产生模块,用于在软件的运行过程中,若接收到操作请求,则产生一个uuid;源代码获取模块,获取当前执行的目标操作响应的源代码;标记符检测模块,用于检测所述源代码中是否包含与所述操作请求关联的标记符,所述软件包含的每个操作响应的源代码均预先添加与自身所响应的操作请求关联的标记符;uuid添加模块,用于若所述源代码中包含与所述操作请求关联的标记符,则为所述目标操作响应所生成的日志记录添加所述uuid。本专利技术实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如本专利技术实施例的第一方面提出的日志记录的生成方法的步骤。本专利技术实施例的第四方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如本专利技术实施例的第一方面提出的日志记录的生成方法的步骤。本申请提出的日志记录的生成方法包括:在软件的运行过程中,若接收到操作请求,则产生一个uuid;获取当前执行的目标操作响应的源代码;检测所述源代码中是否包含与所述操作请求关联的标记符,所述软件包含的每个操作响应的源代码均预先添加与自身所响应的操作请求关联的标记符;若所述源代码中包含与所述操作请求关联的标记符,则为所述目标操作响应所生成的日志记录添加所述uuid。通过这样设置,对应于同一个操作请求的日志记录将包含同一个uuid,从而能够获知哪些日志记录对应于同一个操作请求,为bug的定位和分析提供了帮助。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种日志记录的生成方法的第一个实施例的流程图;图2是本专利技术实施例提供的一种日志记录的生成方法的第二个实施例的流程图;图3是本专利技术实施例提供的一种日志记录的生成方法的第三个实施例的流程图;图4是本专利技术实施例提供的一种日志记录的生成装置的一个实施例的结构图;图5是本专利技术实施例提供的一种服务器的示意图。具体实施方式本专利技术实施例提供了一种日志记录的生成方法、装置、存储介质和服务器,能够获知哪些日志记录对应于同一个操作请求,为bug的定位和分析提供帮助。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术实施例中一种日志记录的生成方法的第一个实施例包括:101、在软件的运行过程中,若接收到操作请求,则产生一个uuid;在某个软件的运行过程中,若接收到操作请求,则产生一个uuid。该软件能够对接收到的操作请求进行响应,并生成相应的日志记录。uuid是通用唯一识别码的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。具体的,可以采用随机的方式产生uuid,也可以按照预设的编排规则产生uuid。102、获取当前执行的目标操作响应的源代码;接着,获取当前执行的目标操作响应的源代码。应当理解,假设当前执行的操作响应为A,则A为目标操作响应,等待A执行完毕后开始执行操作响应B时,则B成为目标操作响应,以此类推。103、检测所述源代码中是否包含与所述操作请求关联的标记符;在获取到当前执行的目标操作响应的源代码之后,检测所述源代码中是否包含与所述操作请求关联的标记符,所述软件包含的每个操作响应的源代码均预先添加与自身所响应的操作请求关联的标记符。比如,当前执行用户登录的操作响应,则会检测用户登录步骤的源代码中是否包含一个与该操作请求关联的标记符。具体的,开发人员可以预先确定某个操作请求对应的关键的操作响应,并为这些操作响应的源代码添加一个特定的标记符。比如,某个操作请求包含以下几个关键的操作响应:(1)根据用户ID获取用户的访问权限;(2)根据用户ID和权限获取一个任务;(3)组装任务的数据结构返回给客户端。那么可以为这3个操作响应相关的源代码中添加一个相同的标记符,与该操作请求关联。若所述源代码中包含与所述操作请求关联的标记符,则执行步骤104,否则执行步骤105。104、为所述目标操作响应所生成的日志记录添加所述uuid;如果包含与所述操作请求关联的标记符,表明该目标操作响应是对于所述操作请求的响应,此时为该目标操作响应产生的日志记录添加步骤101产生的uuid。通过这样设置,用户只需查找具有相同uuid的日志记录,即可确定这些日志记录是对应于同一个操作请求的,从而便于定位和追踪bug。105、不对所述目标操作响应所生成的日志记录做处理。所述源代码中不含与所述操作请求关联的标记符,表明该目标操作响应不是对于所述操作请求的响应,此时不对所述目标操作响应所生成的日志记录做处理,即不添加uuid。进一步的,在为所述目标操作响应所生成的日志记录添加所述uuid之后,还可以包括:(1)获取输入的目标uuid;(2)从已生成的所有日志记录中搜索包含所述目标uuid的日志记录;(3)将搜索到的日志记录整合成一份日志文件,并通过预设的方式展示所述日志文件。因为每条日志记录都会记录一个uuid,这些零散的日志数据,通过uuid关联了起来,具有相同uuid的日志记录即是对应于同一个操作请求的日志记录。关于日志展现的方式,可以将消息通过网络发送给一个统一的日志服务器中,然后通过搜索某个uuid,可以筛选出包含这个uuid的所有日志记录,并将搜索到的日志记录整合成一份日志文件,通过预设的方式展示所述日志文件;也可以将日志打印到本地的一个特定目录下,然后通过另外一个demon进程,定时收集日志发送到一个本文档来自技高网...

【技术保护点】
1.一种日志记录的生成方法,其特征在于,包括:在软件的运行过程中,若接收到操作请求,则产生一个uuid;获取当前执行的目标操作响应的源代码;检测所述源代码中是否包含与所述操作请求关联的标记符,所述软件包含的每个操作响应的源代码均预先添加与自身所响应的操作请求关联的标记符;若所述源代码中包含与所述操作请求关联的标记符,则为所述目标操作响应所生成的日志记录添加所述uuid。

【技术特征摘要】
1.一种日志记录的生成方法,其特征在于,包括:在软件的运行过程中,若接收到操作请求,则产生一个uuid;获取当前执行的目标操作响应的源代码;检测所述源代码中是否包含与所述操作请求关联的标记符,所述软件包含的每个操作响应的源代码均预先添加与自身所响应的操作请求关联的标记符;若所述源代码中包含与所述操作请求关联的标记符,则为所述目标操作响应所生成的日志记录添加所述uuid。2.根据权利要求1所述的生成方法,其特征在于,在产生一个uuid之后,还包括:将所述uuid写入一个全局变量内,并将所述全局变量存储至当前线程的上下文环境中;所述为所述目标操作响应所生成的日志记录添加所述uuid包括:从所述全局变量中提取出所述uuid;将所述uuid添加至所述目标操作响应所生成的日志记录中。3.根据权利要求1所述的生成方法,其特征在于,所述为所述目标操作响应所生成的日志记录添加所述uuid包括:检测所述目标操作响应的源代码包含的各个函数;分别为检测到的每个函数添加日志注解,所述日志注解为封装程序集、模块和类型的对象,通过编译可产生新的描述性的变量;从所述各个函数中任意选取一个函数,并通过宏展开的方式为所述选取的函数生成额外的日志参数,所述日志参数包含所述uuid;将所述日志参数传递至包含日志注解的每个函数当中;当基于任意的一个目标函数生成日志记录时,将所述目标函数包含的日志参数添加至当前生成的日志记录中。4.根据权利要求3所述的生成方法,其特征在于,所述将所述目标函数包含的日志参数添加至当前生成的日志记录中包括:获取所述目标函数包含的日志注解的类型;若所述日志注解的类型符合预设的条件,则将所述目标函数包含的日志参数添加至当前生成的日志记录中。5.根据权利要求1至4中任一项所述的生成方法,其特征在于,在为所述目标操作响应所生成的日志记录添加所述uuid之后,还包括:获取输入的目标uuid;从已生成的所有日志记录中搜索包含所述目标uuid的日志记录;将搜索到的日志记录整合成一份日志文件,并通过预设的方式展示所述日志文件。6.一种日志记录的生成装置,其特征在于,包括:uuid产生模块,用于在软件的运行过程中,若接收到操作请求...

【专利技术属性】
技术研发人员:王宸
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1