本申请公开了一种日志输出方法、装置、存储介质以及终端,涉及计算机技术领域。首先获取业务语句,在第一业务环境中执行业务语句;然后触发日志输出语句,建立第二业务环境,并将针对业务语句的求值代码封装至第二业务环境中;求值代码用于对业务语句进行求值以及日志输出;最后返回至第一业务环境,并继续在第一业务环境中执行业务语句。当在第一业务环境中执行业务语句,且需要输出关于业务语句的日志时,可以建立一个第二业务环境,并在第二业务环境中执行对业务语句的日志输出,由于第一业务环境和第二业务环境不相同,因此在第二业务环境中的日志输出操作,不会影响到第一业务环境中业务语句的执行,提高了软件系统的稳定性。
A log output method, device, storage medium and terminal
【技术实现步骤摘要】
一种日志输出方法、装置、存储介质以及终端
本申请涉及计算机
,尤其涉及一种日志输出方法、装置、存储介质以及终端。
技术介绍
随着科学技术的发展,人们越来越多的使用到软件系统,软件系统大大提高了人们生活、学习的便利性,因此软件系统的安全性和稳定性成为该领域人员研究的重点。在相关技术中,软件系统可以由多个业务语句,为了记录业务语句的相关参数作为数据生产,或者便于后期对软件系统的调试,可以在业务语句中加入日志功能,通过日志功能对业务语句中的参数进行求值或者其他处理后输出日志,再继续执行该业务语句。
技术实现思路
但是在上述相关技术中,由于在业务语句的执行过程中,必须等待日志输出完成后,才能继续执行业务语句,因此当日志输出过程中出现问题时,会导致不能继续执行业务语句,严重时会造成整个软件系统的崩溃。本申请提供一种日志输出方法、装置、存储介质以及终端,可以解决相关技术中当日志输出过程中出现问题时,会导致不能继续执行业务语句,造成软件系统崩溃的技术问题。第一方面,本申请实施例提供一种日志输出方法,该方法包括:获取业务语句,在第一业务环境中执行所述业务语句;触发日志输出语句,建立第二业务环境,并将针对所述业务语句的求值代码封装至所述第二业务环境中;所述求值代码用于对所述业务语句进行求值以及日志输出;返回至所述第一业务环境,并继续在所述第一业务环境中执行所述业务语句。可选地,所述第二业务环境包括至少一个异步队列;以及所述第二业务环境不同于所述第一业务环境,且所述第二业务环境的运行优先级小于所述第一业务环境的运行优先级。可选地,所述将针对所述业务语句的求值代码封装至所述第二业务环境中,包括:获取所述业务语句对应的业务类型;获取所述业务类型对应的求值代码;调用匿名函数将所述求值代码封装至所述第二业务环境中。可选地,所述返回至所述第一业务环境,并继续在所述第一业务环境中执行所述业务语句之后,还包括:触发参数求值语句,获取所述业务语句对应的业务参数;在所述第二业务环境中调用所述匿名函数执行所述求值代码对所述业务参数进行求值,并得到求值结果;保存所述求值结果。可选地,所述第二业务环境包括至少一个日志线程;其中,所述第二业务环境不同于所述第一业务环境。可选地,所述至少一个日志线程中的每个所述日志线程对应一个匿名函数;其中所述匿名函数用于将针对业务语句的求值代码封装至所述第二业务环境中。可选地,所述返回至所述第一业务环境,并继续在所述第一业务环境中执行所述业务语句之后,包括:触发参数求值语句,获取各业务语句对应的业务参数,对各业务参数按照预设规则进行优先级排序;获取处理器的利用率,若所述处理器的利用率小于利用率阈值,则获取优先级高的所述业务参数;获取所述优先级高的所述业务参数对应的所述匿名函数,调用所述匿名函数执行所述求值代码对所述业务参数进行求值,并得到求值结果;保存所述求值结果。第二方面,本申请实施例提供一种日志输出装置,该装置包括:业务执行模块,用于获取业务语句,在第一业务环境中执行所述业务语句;业务环境建立模块,用于触发日志输出语句,建立第二业务环境,并将针对所述业务语句的求值代码封装至所述第二业务环境中;所述求值代码用于对所述业务语句进行求值以及日志输出;业务继续执行模块,用于返回至所述第一业务环境,并继续在所述第一业务环境中执行所述业务语句。第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行实现上述的方法的步骤。第四方面,本申请实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。本申请一些实施例提供的技术方案带来的有益效果至少包括:本申请提供一种日志输出方法、装置、存储介质以及终端。首先获取业务语句,在第一业务环境中执行业务语句;然后触发日志输出语句,建立第二业务环境,并将针对业务语句的求值代码封装至第二业务环境中;求值代码用于对业务语句进行求值以及日志输出;最后返回至第一业务环境,并继续在第一业务环境中执行业务语句。当在第一业务环境中执行业务语句,且需要输出关于业务语句的日志时,可以建立一个第二业务环境,并在第二业务环境中执行对业务语句的日志输出,由于第一业务环境和第二业务环境不相同,因此在第二业务环境中的日志输出操作,不会影响到第一业务环境中业务语句的执行,提高了软件系统的稳定性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1本申请实施例提供的一种日志输出方法的流程示意图;图2为本申请另一实施例提供的一种日志输出方法的流程示意图;图3为本申请另一实施例提供的一种日志输出方法的流程示意图;图4为本申请实施例提供的一种日志输出装置的结构示意图;图5为本申请另一实施例提供的一种日志输出装置的结构示意图;图6为本申请另一实施例提供的一种日志输出装置的结构示意图;图7为本申请实施例提供的一种终端的结构示意图。具体实施方式为使得本申请的特征和优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请实施例的描述中,需要理解的是,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。请参阅图1,图1本申请实施例提供的一种日志输出方法的流程示意图。如图1所示,该方法包括:S101、获取业务语句,在第一业务环境中执行业务语句。可选地,在本申请实施例中,一种日志输出方法可以应用于多种汇编语言中,包括但不限于JavaScript语言、Java语言、C语言、C++语言以及Python语言。基于上述语言可以设计出满足不同需求的软件系统,软件系统可以由程序代码组成,不同的代码可以组成处理不同业务的业务语句,其中业务可以是指某个功能或者某个事件,例如,在网络在线教育领本文档来自技高网...
【技术保护点】
1.一种日志输出方法,其特征在于,所述方法包括:/n获取业务语句,在第一业务环境中执行所述业务语句;/n触发日志输出语句,建立第二业务环境,并将针对所述业务语句的求值代码封装至所述第二业务环境中;所述求值代码用于对所述业务语句进行求值以及日志输出;/n返回至所述第一业务环境,并继续在所述第一业务环境中执行所述业务语句。/n
【技术特征摘要】
1.一种日志输出方法,其特征在于,所述方法包括:
获取业务语句,在第一业务环境中执行所述业务语句;
触发日志输出语句,建立第二业务环境,并将针对所述业务语句的求值代码封装至所述第二业务环境中;所述求值代码用于对所述业务语句进行求值以及日志输出;
返回至所述第一业务环境,并继续在所述第一业务环境中执行所述业务语句。
2.根据权利要求1所述的方法,其特征在于,所述第二业务环境包括至少一个异步队列;以及所述第二业务环境不同于所述第一业务环境,且所述第二业务环境的运行优先级小于所述第一业务环境的运行优先级。
3.根据权利要求2所述的方法,其特征在于,所述将针对所述业务语句的求值代码封装至所述第二业务环境中,包括:
获取所述业务语句对应的业务类型,获取所述业务类型对应的求值代码;
调用匿名函数将所述求值代码封装至所述第二业务环境中。
4.根据权利要求3所述的方法,其特征在于,所述返回至所述第一业务环境,并继续在所述第一业务环境中执行所述业务语句之后,还包括:
触发参数求值语句,获取所述业务语句对应的业务参数;
在所述第二业务环境中调用所述匿名函数执行所述求值代码对所述业务参数进行求值,并得到求值结果;
保存所述求值结果。
5.根据权利要求1所述的方法,其特征在于,所述第二业务环境包括至少一个日志线程;其中,所述第二业务环境不同于所述第一业务环境。
6.根据权利要求5所述的方法,其特征在于,所述至少一个日志...
【专利技术属性】
技术研发人员:秦振龙,
申请(专利权)人:北京文渊佳科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。