日志代码的生成方法、装置、计算机系统和可读存储介质制造方法及图纸

技术编号:24352317 阅读:97 留言:0更新日期:2020-06-03 01:51
本公开提供了一种日志代码的生成方法,包括:获取描述文件,其中,描述文件至少描述了关于日志逻辑的多个字段和各字段属性;解析描述文件,得到日志的基础数据结构;从预先构建的多个代码模板中确定目标代码模板,其中,多个代码模板为采用不同语言预先生成的代码模板;以及对基础数据结构中的属性进行遍历,结合目标代码模板,生成与目标代码模板对应的语言的日志代码。本公开还提供了一种日志代码的生成装置、一种计算机系统、一种计算机可读存储介质和一种计算机程序产品。

Generation method, device, computer system and readable storage medium of log code

【技术实现步骤摘要】
日志代码的生成方法、装置、计算机系统和可读存储介质
本公开涉及计算机
,更具体地,涉及一种日志代码的生成方法、一种日志代码的生成装置、一种计算机系统和一种计算机可读存储介质。
技术介绍
日志是用来记录用户操作、系统运行状态等参数的数据文件,可供用户了解设备的运行情况及业务处理情况。日志往往随设备的运行而产生大量的数据,所以对日志数据进行各种分析处理是获取有效信息的常规途径。在相关技术中,现有的日志技术不论是使用传统的数据库,还是基于列式的存储数据,其调用技术栈是单一的,要么是某一个语言(如C代码)的API接口直接调用,要么是封装成一个动态库提供相应的API接口。但是不论是哪种方式,通过某一种语言实现的接口,要提供给另一种语言,交互的API接口是固定的,不能方便的更改API接口参数,也不能随着业务或配置的变化而灵活调整或者自动生成。如果需要修改API接口,涉及代码改动的地方较多,增加了开发工作量,不便于后续扩展。
技术实现思路
有鉴于此,本公开提供了一种日志代码的生成方法、一种日志代码的生成装置、一种计算机系统和一种计算机可读存储介质。本公开的一个方面提供了一种日志代码的生成方法,包括获取描述文件,其中,上述描述文件至少描述了关于日志逻辑的多个字段和各字段属性;解析上述描述文件,得到日志的基础数据结构;从预先构建的多个代码模板中确定目标代码模板,其中,上述多个代码模板为采用不同语言预先生成的代码模板;以及对上述基础数据结构中的属性进行遍历,结合上述目标代码模板,生成与上述目标代码模板对应的语言的日志代码。根据本公开的实施例,上述的方法还包括:获取更新操作,其中,上述更新操作用于更新上述描述文件;响应于上述更新操作,修改上述描述文件;对修改后的描述文件进行解析,得到更新后的日志的基础数据结构;以及对上述更新后的日志的基础数据结构中的属性进行遍历,结合上述目标代码模板,生成与上述目标代码模板对应的语言的日志代码。根据本公开的实施例,修改上述描述文件包括:对上述描述文件中关于日志逻辑的字段和/或者字段属性进行修改。根据本公开的实施例,从预先构建的多个代码模板中确定目标代码模板包括:获取选择操作;以及响应于上述选择操作,从上述预先构建的多个代码模板中选择上述目标代码模板。根据本公开的实施例,对上述基础数据结构中的属性进行遍历,结合上述目标代码模板,生成与上述目标代码模板对应的语言的日志代码包括:确定上述目标代码模板对应的语言;根据上述目标代码模板对应的语言确定目标代码生成器;以及基于上述目标代码生成器对上述基于第一语言生成的基础数据结构中的属性进行遍历,结合上述目标代码模板,生成与上述目标代码模板对应的语言的日志代码。本公开的另一个方面提供了一种日志代码的生成装置,包括:第一获取模块,用于获取描述文件,其中,上述描述文件至少描述了关于日志逻辑的多个字段和各字段属性;解析模块,用于解析上述描述文件,得到日志的基础数据结构;确定模块,用于从预先构建的多个代码模板中确定目标代码模板,其中,上述多个代码模板为采用不同语言预先生成的代码模板;以及生成模块,用于对上述基础数据结构中的属性进行遍历,结合上述目标代码模板,生成与上述目标代码模板对应的语言的日志代码。根据本公开的实施例,上述的装置还包括:第二获取模块,用于获取更新操作,其中,上述更新操作用于更新上述描述文件;修改模块,用于响应于上述更新操作,修改上述描述文件;上述解析模块,还用于对修改后的描述文件进行解析,得到更新后的日志的基础数据结构;上述生成模块,还用于对上述更新后的日志的基础数据结构中的属性进行遍历,结合上述目标代码模板,生成与上述目标代码模板对应的语言的日志代码;其中,修改上述描述文件包括:对上述描述文件中关于日志逻辑的字段和/或者字段属性进行修改;以及/或者其中,上述确定模块包括获取单元,用于获取选择操作;以及选择单元,用于响应于上述选择操作,从上述预先构建的多个代码模板中选择上述目标代码模板。根据本公开的实施例,上述生成模块包括:第一确定单元,用于确定上述目标代码模板对应的语言;第二确定单元,用于根据上述目标代码模板对应的语言确定目标代码生成器;以及生成单元,用于基于上述目标代码生成器对上述基础数据结构中的属性进行遍历,结合上述目标代码模板,生成与上述目标代码模板对应的语言的日志代码。本公开的另一个方面提供了一种计算机系统,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。本公开的另一方面提供了一种计算机程序产品,包括可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。通过本公开的实施例,通过解析描述文件可以得到日志的基础数据结构,从预先构建的多个代码模板中确定目标代码模板,对基础数据结构中的属性进行遍历,结合目标代码模板,可以自动生成与目标代码模板对应的语言的日志代码,所以至少部分地克服了现有技术中生成或修改日志代码时开发工作量大的技术问题,进而达到了提高日志开发效率,减少维护成本的技术效果。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本公开实施例的可以应用日志代码的生成方法及装置的应用场景;图2示意性示出了根据本公开实施例的日志代码的生成方法的流程图;图3示意性示出了根据本公开另一实施例的日志代码的生成方法的流程图;图4示意性示出了根据本公开实施例的生成与目标代码模板对应的语言的日志代码的流程图;图5示意性示出了根据本公开另一实施例的日志代码的生成方法的流程图;图6示意性示出了根据本公开实施例的日志代码的生成装置的框图;以及图7示意性示出了根据本公开实施例的适于实现上文描述的日志代码的生成方法的计算机系统的框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。本文档来自技高网...

【技术保护点】
1.一种日志代码的生成方法,包括:/n获取描述文件,其中,所述描述文件至少描述了关于日志逻辑的多个字段和各字段属性;/n解析所述描述文件,得到日志的基础数据结构;/n从预先构建的多个代码模板中确定目标代码模板,其中,所述多个代码模板为采用不同语言预先生成的代码模板;以及/n对所述基础数据结构中的属性进行遍历,结合所述目标代码模板,生成与所述目标代码模板对应的语言的日志代码。/n

【技术特征摘要】
1.一种日志代码的生成方法,包括:
获取描述文件,其中,所述描述文件至少描述了关于日志逻辑的多个字段和各字段属性;
解析所述描述文件,得到日志的基础数据结构;
从预先构建的多个代码模板中确定目标代码模板,其中,所述多个代码模板为采用不同语言预先生成的代码模板;以及
对所述基础数据结构中的属性进行遍历,结合所述目标代码模板,生成与所述目标代码模板对应的语言的日志代码。


2.根据权利要求1所述的方法,还包括:
获取更新操作,其中,所述更新操作用于更新所述描述文件;
响应于所述更新操作,修改所述描述文件;
对修改后的描述文件进行解析,得到更新后的日志的基础数据结构;以及
对所述更新后的日志的基础数据结构中的属性进行遍历,结合所述目标代码模板,生成与所述目标代码模板对应的语言的日志代码。


3.根据权利要求2所述的方法,其中,修改所述描述文件包括:
对所述描述文件中关于日志逻辑的字段和/或者字段属性进行修改。


4.根据权利要求1所述的方法,其中,从预先构建的多个代码模板中确定目标代码模板包括:
获取选择操作;以及
响应于所述选择操作,从所述预先构建的多个代码模板中选择所述目标代码模板。


5.根据权利要求1所述的方法,其中,对所述基础数据结构中的属性进行遍历,结合所述目标代码模板,生成与所述目标代码模板对应的语言的日志代码包括:
确定所述目标代码模板对应的语言;
根据所述目标代码模板对应的语言确定目标代码生成器;以及
基于所述目标代码生成器对所述基于第一语言生成的基础数据结构中的属性进行遍历,结合所述目标代码模板,生成与所述目标代码模板对应的语言的日志代码。


6.一种日志代码的生成装置,包括:
第一获取...

【专利技术属性】
技术研发人员:王凯峰
申请(专利权)人:奇安信科技集团股份有限公司网神信息技术北京股份有限公司
类型:发明
国别省市:北京;11

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

1