日志输出控制方法、系统及计算机可读存储介质技术方案

技术编号:21140709 阅读:17 留言:0更新日期:2019-05-18 05:03
本申请涉及一种日志输出方法、系统及计算机可读存储介质,日志输出控制方法包括:监听缓存组件内发布订阅服务渠道中的数据量;在监听到发布订阅服务渠道中的数据量发生变化的情况下,拉取管理后台新增至发布订阅服务渠道中的日志指令集;根据日志指令集的类型增加或停止业务日志的输出。本申请实施例提供的方法,根据接收到的日志指令集类型,在线上业务系统出现错误后输出详尽的业务日志以供排查分析,而在正常业务处理时尽可能减少业务日志输出,加快了线上错误的排查定位,减轻了业务系统的负载压力,保障了用户使用体验。

Log Output Control Method, System and Computer Readable Storage Media

【技术实现步骤摘要】
日志输出控制方法、系统及计算机可读存储介质
本申请涉及计算机领域,尤其涉及一种日志输出控制方法、系统及计算机可读存储介质。
技术介绍
随着互联网的发展,线上业务服务的发展蓬勃,用户在使用线上业务服务系统时,业务系统经常会出现错误(bug),严重影响了用户的使用体验,需要管理人员及时处理。管理人员在处理错误时,首要工作是对错误可能发生的原因进行排查定位,常用的几种错误排查方式包括,查看业务系统所在服务器的内存与CPU(中央处理器)使用情况、回溯程序代码业务逻辑、跟踪业务系统输出的业务日志等。在上述提到的几种错误排查方式中,跟踪业务服务日志是最为高效的方式:管理人员可以通过分析业务日志中上下文数据变化,能够快速定位出业务系统的错误出现的原因,并针对性的进行修复,发布新版本,从而达到线上错误的解决的目的。然而并非所有错误出现时都会有详尽的业务日志供管理人员去分析排查,因为如果在业务处理逻辑中频繁的输出业务日志,不仅会加长每次业务处理的时间,降低用户使用体验,而且会增大服务器的CPU与磁盘IO的使用率,加剧业务系统的负载压力。所以在实际线上运行的业务系统一般只会输出关键性业务日志与可能出现的异常日志,对于过程数据则不会输出,而一旦出现错误,则会因为日志数据的不够全面导致错误排查陷入困难的境地。在这种业务日志不全面的情况下,往往会选择回溯代码或者在线下测试环境进行模拟测试分析,但由于没有真实的请求数据作为支撑,往往很难复现线上出现的错误,使得错误的分析定位进入瓶颈。所以现有技术存在正常业务处理时业务日志输出多时将占用业务处理时间,而输出的日志数据不全面时,又难以复现线上错误的问题。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种日志输出控制方法。第一方面,本申请提供了一种日志输出控制方法,包括:监听缓存组件内发布订阅服务渠道中的数据量;在监听到发布订阅服务渠道中的数据量发生变化的情况下,拉取管理后台新增至发布订阅服务渠道中的日志指令集;根据日志指令集的类型增加或停止业务日志的输出。可选的,在根据日志指令集增加或停止业务日志输出的步骤之前,还包括:校验日志指令集的正确性;其中,日志指令集的正确性包括日志指令集的合法性以及与日志指令集相对应的目标类文件的存在性;在判断日志指令集不正确的情况下,终止操作,并输出警示性日志;在判断日志指令集正确的情况下,根据日志指令集的类型增加或停止业务日志的输出。可选的,校验日志指令集的合法性的方法包括以下一种或其组合:校验目标类文件是否中包含日志指令集中的变量;校验日志指令集的格式是否正确;校验日志指令集中的参数个数与目标类文件中的参数个数是否相匹配。可选的,根据日志指令集的类型增加或停止业务日志的输出的步骤,具体包括:识别日志指令集的类型,在日志指令集的类型为增加类型的情况下,生成与目标类文件相对应的代理子类文件,以使代理子类文件代替目标类文件处理业务逻辑并输出业务日志;在日志指令集的类型为删除类型的情况下,删除目标类文件对应的代理子类文件,以停止输出业务日志。可选的,建立目标类文件与代理子类文件的映射关系,并在映射表中存储映射关系。可选的,在删除目标类文件对应的代理子类文件之后,还包括:删除在映射表中存储的目标类文件与代理子类文件的映射关系。可选的,在删除目标类文件对应的代理子类文件之后,还包括:恢复目标类文件处理业务逻辑。可选的,生成与目标类文件相对应的代理子类文件的步骤包括:使用内嵌汇编语言关键字的字节码增强技术生成目标类文件对应的代理子类文件。第二方面,本申请提供了一种日志输出控制系统,包括:存储器,配置为存储可执行指令;处理器,配置为执行存储的指令以实现如第一方面的日志输出控制方法。第三方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面的日志输出控制方法。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,业务系统的服务器监听缓存组件内发布订阅服务渠道中的数据量,管理人员通过管理操作系统操作界面针对指定的业务系统添加日志指令集,管理后台将日志指令集发送到缓存组件中(Redis消息发布订阅组件),在监听到发布订阅服务渠道中的数据量发生变化的情况下,服务器拉取管理后台新增至发布订阅服务渠道中的日志指令集,这样保证了业务系统的服务器可以即时获取管理人员添加的日志指令集。服务器根据日志指令集的类型增加或停止业务日志的输出,例如,在业务系统中有错误发生的情况下,管理人员通过管理操作系统操作界面添加用于控制增加业务日志的输出的指令,以使服务器输出详尽的业务日志供管理人员排查分析,在管理人员通过排查分析业务日志找出错误之后,管理人员通过管理操作系统操作界面添加用于控制停止业务日志的输出的指令,以使服务器停止额外的业务日志的输出,只输出关键性业务日志与可能出现的异常日志,从而减少业务日志的输出。因此,本申请实施例提供的该方法解决了现有技术存在正常业务处理时业务日志输出多时将占用业务处理时间,而输出的日志数据不全面时,又难以复现线上错误的问题,实现了在线上业务系统出现错误后输出详尽的业务日志供管理人员排查分析,而又在正常业务处理时尽可能减少业务日志输出,减轻业务系统的负载压力,保障用户体验的技术效果。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种日志输出方法的流程图;图2为本申请实施例提供的一种日志输出方法的另一流程图;图3为本申请实施例提供的一种日志输出方法的再一流程图;图4为本申请实施例提供的一种日志输出方法的又一流程图;图5为本申请实施例提供的一种日志输出方法的又一流程图;图6为本申请实施例提供的一种日志输出方法的又一流程图;图7为本申请实施例提供的一种服务器业务系统功能模块扩展的示意框图;图8为本申请实施例提供的一种日志输出控制系统的示意框图;图9为本申请一个实施例提供的一种日志输出控制系统的部署架构。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请实施例提供的一种日志输出方法的流程图,该日志输出方法包括:步骤102,监听缓存组件内发布订阅服务渠道中的数据量;步骤104,在监听到发布订阅服务渠道中的数据量发生变化的情况下,拉取管理后台新增至发布订阅服务渠道中的日志指令集;步骤106,根据日志指令集的类型增加或停止业务日志的输出。本申请实施例提供的该方法,业务系统的服务器监听缓存组件内发布订阅服务渠道中的数据量,管理人员通过管理操作系统操作界面针对指定的业务系统添加本文档来自技高网
...

【技术保护点】
1.一种日志输出控制方法,其特征在于,包括:监听缓存组件内发布订阅服务渠道中的数据量;在监听到所述发布订阅服务渠道中的数据量发生变化的情况下,拉取管理后台新增至所述发布订阅服务渠道中的日志指令集;根据所述日志指令集的类型增加或停止业务日志的输出。

【技术特征摘要】
1.一种日志输出控制方法,其特征在于,包括:监听缓存组件内发布订阅服务渠道中的数据量;在监听到所述发布订阅服务渠道中的数据量发生变化的情况下,拉取管理后台新增至所述发布订阅服务渠道中的日志指令集;根据所述日志指令集的类型增加或停止业务日志的输出。2.根据权利要求1所述的日志输出控制方法,其特征在于,在所述根据所述日志指令集增加或停止业务日志输出的步骤之前,还包括:校验所述日志指令集的正确性;其中,所述日志指令集的正确性包括所述日志指令集的合法性以及与所述日志指令集相对应的目标类文件的存在性;在判断所述日志指令集不正确的情况下,输出警示性日志;在判断所述日志指令集正确的情况下,根据所述日志指令集的类型增加或停止所述业务日志的输出。3.根据权利要求2所述的日志输出控制方法,其特征在于,校验所述日志指令集的合法性的方法包括以下一种或其组合:校验所述目标类文件是否中包含所述日志指令集中的变量;校验所述日志指令集的格式是否正确;校验所述日志指令集中的参数个数与所述目标类文件中的参数个数是否相匹配。4.根据权利要求2或3所述的日志输出控制方法,其特征在于,所述根据所述日志指令集的类型增加或停止所述业务日志的输出的步骤,具体包括:识别所述日志指令集的类型,在所述日志指令集的类型为增加类型的情况下,生成与所述目标类文件相对应的代理子...

【专利技术属性】
技术研发人员:邹炜
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

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

1