日志生成方法及装置与流程

文档序号:17640731发布日期:2019-05-11 00:39阅读:147来源:国知局
日志生成方法及装置与流程

本公开涉及数据处理领域,具体地,涉及一种日志生成方法及装置。



背景技术:

日志,是用来记录程序运行情况的技术资料。一般来说,其内容包括程序响应用户请求所做的用户操作,运行环境有无异常,数据变化,等等。通过日志,程序维护人员可以进行故障排查,提出解决方案。

目前,日志都是由程序员在程序编码阶段直接将用于记录日志的代码写入到程序中。程序代码中除了业务逻辑,还充斥各种用于记录日志的代码。因此,用于记录日志的代码与程序本身代码强耦合,日志展现的内容只能在程序开发期调整。一旦项目上线,将难以调整需要日志展现的内容。



技术实现要素:

有鉴于此,本公开的目的是提供一种日志生成方法及装置,以实现灵活定制日志的目的。

为了实现上述目的,本公开第一方面提供了一种日志生成方法,该方法预置有日志模板,所述日志模板中包括程序唯一标识对应的代码语句,所述代码语句表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容。该方法包括:根据所述日志模板,从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取所述程序唯一标识对应代码语句的预置变量所需的参数数据;将获取到的所述参数数据按需输入到所述日志模板中所述程序唯一标识对应代码语句的预置变量中;通过运行所述程序唯一标识对应的代码语句,生成根据所述代码语句展现的预置形式的日志内容。

可选地,所述日志模板为支持多个脚本语法规则且可运行生成视图的模板引擎。所述日志模板中的代码语句为根据所述日志模板所支持的脚本语法规则所书写的脚本语句。所述通过运行所述程序唯一标识对应的代码语句,生成根据所述代码语句展现的预置形式的日志内容包括:通过运行所述日志模板,生成根据所述脚本语句展现预置形式日志内容的视图。

可选地,所述根据日志模板,从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取所述程序唯一标识对应代码语句的预置变量所需的参数数据包括:根据所述日志模板,从日志信息存储中获取所述程序唯一标识对应代码语句的预置变量所需的参数数据,其中,所述日志信息存储中存储有所述日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据。

可选地,所述程序唯一标识对应的代码语句包括:由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的在用户操作成功情况下对应的代码语句;由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的在用户操作失败情况下对应的代码语句。所述将获取到的所述参数数据按需输入到所述日志模板中所述程序唯一标识对应代码语句的预置变量中包括:从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取用于表示用户操作成功的成功标志或用于表示用户操作失败的失败标志;在获取到所述成功标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作成功的日志内容;在获取到所述失败标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作失败的日志内容。

本公开第二方面提供了一种日志生成装置,该装置预置有日志模板,所述日志模板中包括程序唯一标识对应的代码语句,所述代码语句表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容。该装置包括:数据获取模块,被配置为根据所述日志模板,从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取所述程序唯一标识对应代码语句的预置变量所需的参数数据。数据输入模块,被配置为将获取到的所述参数数据按需输入到所述日志模板中所述程序唯一标识对应代码语句的预置变量中。语句运行模块,被配置为通过运行所述程序唯一标识对应的代码语句,生成根据所述代码语句展现的预置形式的日志内容。

可选地,所述日志模板为支持多个脚本语法规则且可运行生成视图的模板引擎。所述日志模板中的脚本语句为根据所述日志模板所支持的脚本语法规则所书写的脚本语句。所述语句运行模块被配置为通过运行所述日志模板,生成根据所述脚本语句展现预置形式日志内容的视图。

可选地,所述数据获取模块被配置为根据所述日志模板,从日志信息存储中获取所述程序唯一标识对应代码语句的预置变量所需的参数数据,其中,所述日志信息存储中存储有所述日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据。

可选地,所述程序唯一标识对应的代码语句包括:由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的在用户操作成功情况下对应的代码语句;由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的在用户操作失败情况下对应的代码语句。所述数据输入模块包括:标志获取子模块,被配置为从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取用于表示用户操作成功的成功标志或用于表示用户操作失败的失败标志。成功数据输入子模块,被配置为在获取到所述成功标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作成功的日志内容。失败数据输入子模块,被配置为在获取到所述失败标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作失败的日志内容。

本公开第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面中任一项所述日志生成方法的步骤。

本公开第四方面提供了一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面中任一项所述日志生成方法的步骤。

由于本公开上述技术方案提供的方法获取日志拦截器响应于程序被执行而拦截到的该程序的参数数据,因此,通过日志拦截器实现了日志所需数据在获取方式上与程序本身代码的解耦。且本公开预置的日志模板中包括程序唯一标识对应的代码语句,该代码语句表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容,从而将获取到的参数数据对应输入到日志模板的对应预置变量中,可以通过运行代码语句,生成根据代码语句展现的预置形式的日志内容。可见,根据本公开技术方案的日志模板,只要参数数据中有的内容,就可以作为日志模板中的变量来定义,利用日志模板的代码语句在不同预置条件下展现不同预置形式的日志内容,日志内容在部署期可灵活调整,实现了灵活定制日志的目的。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的实施环境示意图。

图2是根据本公开一方面一示例性实施例示出的日志生成方法的流程图。

图3a是根据本公开一方面一示例性实施例示出的日志信息存储示意图。

图3b是根据本公开一方面一示例性实施例示出的一日志模板内容示意图。

图3c是根据本公开一方面一示例性实施例示出的日志内容示意图。

图3d是根据本公开一方面一示例性实施例示出的另一日志模板内容示意图。

图4是根据本公开一方面另一示例性实施例示出的日志生成方法的流程图。

图5是根据本公开另一方面一示例性实施例示出的日志生成装置的框图。

图6是根据本公开另一方面另一示例性实施例示出的日志生成装置的框图。

图7是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据一示例性实施例示出的实施环境示意图。该实施环境包括:计算机101。其中,计算机101应用了本公开实施例提供的日志生成方法。在计算机101上运行有需要被记录日志的程序。该程序可以是定义在业务代码中的一段独立的代码块,在不同的语言环境中可以有不同的表现,例如,可以是某个方法、某个函数。

图2是根据本公开一方面一示例性实施例示出的日志生成方法的流程图。例如,该方法可以应用于图1所示的计算机101,预置有日志模板,所述日志模板中包括程序唯一标识对应的代码语句,所述代码语句表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容。如图2所示,该方法可以包括:

在步骤210中,根据所述日志模板,从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取所述程序唯一标识对应代码语句的预置变量所需的参数数据。

例如,所述程序可以包括用于实现任意业务类、方法的程序。所述参数数据可以包括程序的输入参数数据和/或输出参数数据。

本公开对日志拦截器的实现方式不限。例如,一可能的方式中,所述日志拦截器可以通过springaop(springaspectorientprogramming,面向切面编程)的方式拦截需要被记录日志的方法,以及,以json的方式记录所拦截到的参数数据到日志信息存储中。在需要生成日志内容时,从所述日志信息存储中获取日志模板所需要的参数数据。

在本公开中,可以每当日志拦截器拦截到参数数据,即结合日志模板生成预置形式的日志内容,也可以每当日志拦截器响应于业务系统执行该程序即将拦截到的该程序的参数数据作为一条记录写入日志信息存储。

对于日志信息存储中存储有所述日志拦截器响应于所述程序被执行而拦截到的参数数据的实施方式来说,当需要生成日志内容时,可以根据所述日志模板,从日志信息存储中获取所述程序唯一标识对应代码语句的预置变量所需的参数数据。在该实施方式中,日志信息存储中可以存储有足够全面的日志信息,即使针对同一份日志信息存储,也可以根据需要定制出不同的日志模板,按需动态地从日志信息存储中获取出需要的内容,生成不同的日志内容,从而实现更加灵活的定制日志的目的。

其中,日志信息存储例如可以包括:数据库或者其它的存储方式。例如,以日志信息存储为数据库表为例,日志信息存储的格式可以如图3a所示,表中每条记录所包括的参数数据可以划分为以下几项,包括:“id”、“操作时间”、“日志信息”、“程序名”、“类名”、“状态(成功或失败)”等。在该表中,“id”这项参数数据可以是向程序发出请求的用户唯一标识;“操作时间”这项参数数据可以是程序响应用户请求所做的操作的时间;“操作人”这项参数数据可以是发出请求的用户名;“日志信息”这项参数数据可以是用户请求的操作的内容;“程序名”这项参数数据可以是日志拦截器所拦截的程序如方法的名称;“类名”这项参数数据可以是程序所在业务代码的类名;“状态(成功或失败)”这项参数数据可以是程序响应用户请求所做的操作成功或失败。如图3a所示表中,将日志信息这部分的参数数据以json的方式记录。通过该数据库表各项数据的划分,可以快速读取出日志模板所需的参数数据。

对于业务系统来说,需要被记录日志的程序是已知的。因此,可以将程序的参数数据中的内容对应的变量预置在日志模板的代码语句当中。例如,可以将包括操作时间、操作人、日志信息中用户操作相关内容等,分别作为预置变量写入到日志模板的代码语句中,从而在需要生成日志内容时,执行这些代码语句便可以预置形式展现具有操作时间、操作人、用户操作相关内容等参数数据的日志内容。

在步骤220中,将获取到的所述参数数据按需输入到所述日志模板中所述程序唯一标识对应代码语句的预置变量中。

需要说明的是,本公开技术方案对于日志模板的实现方式不限。将参数数据输入到预置变量中的方式,可以根据日志模板实现方式来决定。

例如,日志模板可以为简单的文本,在需要生成日志内容时,参数数据可以通过变量赋值等方式输入到预置变量中。通过从日志模板中读取出代码语句并在相应的运行环境中执行该代码语句来生成日志内容。

再例如,日志模板可以为支持多个脚本语法规则且可运行生成视图的模板引擎,例如,可运行生成视图的模板引擎velocity模板(基于java的模板引擎),可以直接将日志模板中的预置变量按需替换为对应的参数数据。相应地,日志模板中的代码语句可以为根据所述日志模板所支持的脚本语法规则所书写的脚本语句。

其中,日志模板支持的多个语法规则不限。例如,日志模板支持的多个语法规则可以包括:变量表达方式、条件判断语法及循环语法等语法规则。例如,如图3b所示一示例性日志模板。在该日志模板中,“${”与“}”为变量表达方式,“${”与“}”之间的内容为预置变量,在运行期通过步骤220将预置变量动态替换为对应的参数数据。

又一可能的实施方式中,如图3d所示示例性日志模板内容,所述程序唯一标识对应的代码语句可以包括:由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的在用户操作成功情况下对应的代码语句;由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的在用户操作失败情况下对应的代码语句。在该实施方式中,可以从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取用于表示用户操作成功的成功标志或用于表示用户操作失败的失败标志;在获取到所述成功标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作成功的日志内容;在获取到所述失败标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作失败的日志内容。通过该实施方式,在日志模板中区分用户操作成功与失败两种描述,使得日志模板的代码语句与程序运行的两种不同状态相符,即对于一个程序,有两条日志模板数据,一个是对应操作成功,一个是对应操作失败,并且由类名、程序名、成功或失败标志来唯一标识,确保了可根据程序成功或失败两种不同状态呈现不同预置形式的日志内容,可以更加灵活的按需定制日志。

在步骤230中,通过运行所述程序唯一标识对应的代码语句,生成根据所述代码语句展现的预置形式的日志内容。

例如,在所述日志模板为支持多个脚本语法规则且可运行生成视图的模板引擎的实施方式中,可以通过运行所述日志模板,生成根据所述脚本语句展现预置形式日志内容的视图。在该实施方式中,将日志模板中的预置变量对应替换为需要的内容后,直接运行日志模板即可生成所定制的日志内容,实现了简单高效地生成预置形式的日志内容的目的。

需要说明的是,本公开所述预置形式的具体表现由日志模板中代码语句来决定,该代码语句可以决定包括展现格式、所展现的文本等方面的预置形式。

例如,图3b所示日志模板内容中,脚本语句“#foreach($ain$content[0].arg0)${a.account}”是一个循环,表示在日志信息中是一个组织关联了两个人,帐号分别是“testuser1”和“testuser2”,这个循环执行两遍,然后把数据中的“account”属性值显示出来。脚本语句“#if($velocitycount!=$content[0].arg0.size()),”是个条件判断,如果循环执行的次数和实际的人数不相等,那么显示一个“,”。将图3b所示日志模板内容中预置变量替换为图3a所示参数数据中的所需内容,运行该日志模板,则可以由图3b所示日志模板内容中的脚本语句生成如图3c所示形式的日志内容。可见,利用这些语法规则书写出的脚本语句可以在不同预置条件下展现不同的预置形式的日志内容。

可见,由于本公开技术方案获取日志拦截器响应于程序被执行而拦截到的该程序的参数数据,因此,通过日志拦截器实现了日志所需数据在获取方式上与程序本身代码的解耦。且本公开预置的日志模板中包括程序唯一标识对应的代码语句,该代码语句表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容,从而将获取到的参数数据对应输入到日志模板的对应预置变量中,可以通过运行代码语句,生成根据代码语句展现的预置形式的日志内容。可见,根据本公开技术方案的日志模板,只要参数数据中有的内容,都可以作为日志模板中的变量来定义,利用日志模板的代码语句在不同预置条件下展现不同预置形式的日志内容,日志内容在部署期可灵活调整,实现了灵活定制日志的目的。

为了使本公开技术方案提供的日志生成方法更加易于理解,下面再结合以上各实施例对本公开一可能的实施方式进行详细说明。

图4是根据本公开一方面另一示例性实施例示出的日志生成方法的流程图。例如,该方法可以应用于图1所示的计算机101,预置有日志模板,所述日志模板为支持多个脚本语法规则且可生成视图的模板引擎,其中包括程序唯一标识对应的脚本语句,所述脚本语句为根据所述日志模板所支持的脚本语法规则所书写的脚本语句,表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容。如图4所示,该方法可以包括:

在步骤410中,根据日志模板,从日志信息存储中获取所述程序唯一标识对应脚本语句的预置变量所需的参数数据,其中,所述日志信息存储中存储有所述日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据。

在步骤420中,将日志模板中的预置变量按需替换为对应的参数数据。

在步骤430中,通过运行所述日志模板,生成根据所述脚本语句展现预置形式日志内容的视图。

在该实施方式中,日志信息存储中可以存储有足够全面的日志信息,即使针对同一份日志信息存储,也可以根据需要定制出不同的日志模板,按需动态地从日志信息存储中获取出需要的部分内容,再将日志模板中的预置变量对应替换为需要的内容,进而直接运行日志模板即可动态地生成预置形式的日志内容,实现了灵活定制日志、简单高效动态地生成预置形式的日志内容的目的。

图5是根据本公开另一方面一示例性实施例示出的日志生成装置的框图500。例如,该装置可以配置于图1所示的计算机101,预置有日志模板,所述日志模板中包括程序唯一标识对应的代码语句,所述代码语句表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容。如图5所示,该装置可以包括:数据获取模块510、数据输入模块520、语句运行模块530。

该数据获取模块510,可以被配置为根据所述日志模板,从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取所述程序唯一标识对应代码语句的预置变量所需的参数数据;

该数据输入模块520,可以被配置为将获取到的所述参数数据按需输入到所述日志模板中所述程序唯一标识对应代码语句的预置变量中;

该语句运行模块530,可以被配置为通过运行所述程序唯一标识对应的代码语句,生成根据所述代码语句展现的预置形式的日志内容。

可见,由于本公开技术方案获取日志拦截器响应于程序被执行而拦截到的该程序的参数数据,因此,通过日志拦截器实现了日志所需数据在获取方式上与程序本身代码的解耦。且本公开预置的日志模板中包括程序唯一标识对应的代码语句,该代码语句表达了在预置条件下根据预置变量展现所述程序预置形式的日志内容,从而将获取到的参数数据对应输入到日志模板的对应预置变量中,可以通过运行代码语句,生成根据代码语句展现的预置形式的日志内容。可见,根据本公开技术方案的日志模板,只要参数数据中有的内容,都可以作为日志模板中的变量来定义,利用日志模板的代码语句在不同预置条件下展现不同预置形式的日志内容,日志内容在部署期可灵活调整,实现了灵活定制日志的目的。

可选地,所述日志模板可以为支持多个脚本语法规则且可运行生成视图的模板引擎。所述日志模板中的代码语句为根据所述日志模板所支持的脚本语法规则所书写的脚本语句。所述语句运行模块530可以被配置为通过运行所述日志模板,生成根据所述脚本语句展现预置形式日志内容的视图。在该实施方式中,将日志模板中的预置变量对应替换为需要的内容后,直接运行日志模板即可生成所定制的日志内容,实现了简单高效地生成预置形式的日志内容的目的。

可选地,所述数据获取模块510可以被配置为根据所述日志模板,从日志信息存储中获取所述程序唯一标识对应代码语句的预置变量所需的参数数据,其中,所述日志信息存储中存储有所述日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据。在该实施方式中,日志信息存储中可以存储有足够全面的日志信息,即使针对同一份日志信息存储,也可以根据需要定制出不同的日志模板,按需动态地从日志信息存储中获取出需要的内容,生成不同的日志内容,从而实现更加灵活的定制日志的目的。

可选地,所述程序唯一标识对应的代码语句可以包括:由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的在用户操作成功情况下对应的代码语句;由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的在用户操作失败情况下对应的代码语句。如图6所示本公开另一方面另一示例性实施例示出的日志生成装置的框图600,所述数据输入模块520可以包括:标志获取子模块521,可以被配置为从日志拦截器响应于所述程序被执行而拦截到的所述程序的参数数据中,获取用于表示用户操作成功的成功标志或用于表示用户操作失败的失败标志。成功数据输入子模块522,可以被配置为在获取到所述成功标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、成功标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作成功的日志内容。失败数据输入子模块523,可以被配置为在获取到所述失败标志的情况下,将获取到的所述参数数据按需输入到所述日志模板中、由所述程序所在业务代码的类名、程序名、失败标志来共同唯一标识的代码语句的预置变量中,以便生成根据所述代码语句展现的描述用户操作失败的日志内容。通过该实施方式,在日志模板中区分用户操作成功与失败两种描述,使得日志模板的代码语句与程序运行的两种不同状态相符,即对于一个程序,有两条日志模板数据,一个是对应操作成功,一个是对应操作失败,并且由类名、程序名、成功或失败标志来唯一标识,确保了可根据程序成功或失败两种不同状态呈现不同预置形式的日志内容,可以更加灵活的按需定制日志。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图7是根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该电子设备700的整体操作,以完成上述的日志生成方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的日志生成方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的日志生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的日志生成方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1