CN111177089B - 日志处理代码的生成方法和装置、计算机***和存储介质 - Google Patents
日志处理代码的生成方法和装置、计算机***和存储介质 Download PDFInfo
- Publication number
- CN111177089B CN111177089B CN201911425704.2A CN201911425704A CN111177089B CN 111177089 B CN111177089 B CN 111177089B CN 201911425704 A CN201911425704 A CN 201911425704A CN 111177089 B CN111177089 B CN 111177089B
- Authority
- CN
- China
- Prior art keywords
- log
- field
- mode
- data structure
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000004044 response Effects 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000009472 formulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种日志处理代码的生成方法。该方法包括:确定定制文件,其中,定制文件用于描述日志结构和日志处理方式,日志结构包括至少一种日志类型、与每种日志类型对应的多个日志字段和各字段属性;根据日志结构和日志处理方式生成日志的数据结构;根据日志的数据结构确定模板文件,其中,模板文件用于描述数据结构中的日志字段的访问接口以及与日志处理方式对应的接口;以及根据日志字段的访问接口以及与日志处理方式对应的接口,生成用于处理日志的代码。本公开还提供了一种日志处理代码的生成装置、一种计算机***和一种计算机可读存储介质。
Description
技术领域
本公开涉及数据处理技术领域,更具体地,涉及一种日志处理代码的生成方法和装置、计算机***和计算机可读存储介质。
背景技术
日志是用来记录用户操作、***运行状态等参数的数据文件,可供用户了解设备的运行情况及业务处理情况。日志往往随设备的运行而产生大量的数据,所以对日志数据进行各种分析处理是获取有效信息的常规途径。
目前,在处理日志时,如果涉及到改变日志结构或改变日志处理方式时,例如,增减日志类型、日志字段、改变日志序列化方式、改变日志存储方式等,需要改动与这些处理相关的代码。然而日志在开发或维护过程中,会存在大量的日志处理操作,涉及代码改动的地方较多,增加了开发工作量,不便于后续扩展。
发明内容
有鉴于此,本公开提供了一种日志处理代码的生成方法和装置、计算机***和计算机可读存储介质。
本公开的一个方面提供了一种日志处理代码的生成方法,包括:
确定定制文件,其中,所述定制文件用于描述日志结构和日志处理方式,所述日志结构包括至少一种日志类型,每种日志类型包括多个日志字段和各字段属性;
根据所述日志结构和所述日志处理方式生成日志的数据结构;
根据所述日志的数据结构确定模板文件,其中,所述模板文件用于描述所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口;以及
根据所述日志字段的访问接口以及与所述日志处理方式对应的接口,生成用于处理日志的代码。
根据本公开的实施例,所述方法还包括:
获取第一更新操作,所述第一更新操作用于更新所述日志类型和/或日志字段;
响应于所述第一更新操作,修改所述定制文件;
根据修改后的定制文件生成更新后的日志的数据结构;
根据所述更新后的日志的数据结构确定更新后的模板文件;以及
根据所述更新后的模板文件生成更新后的用于处理日志的代码。
根据本公开的实施例,所述方法还包括:
获取第二更新操作,所述第二更新操作用于更新所述日志处理方式;
响应于所述第二更新操作,生成更新后的日志的数据结构;
根据所述更新后的日志的数据结构确定更新后的模板文件;以及
根据所述更新后的模板文件生成更新后的用于处理日志的代码。
根据本公开的实施例,所述日志处理方式包括以下至少之一:日志序列化方式、日志反序列化方式、日志存储方式或日志查询方式。
根据本公开的实施例,根据所述日志的数据结构确定模板文件包括:
生成所述数据结构中的日志字段的访问接口,并对所述日志字段进行赋值;以及
以下操作中的至少一个:
根据所述日志序列化方式生成用于对日志进行序列化处理的接口;
根据所述日志反序列化方式生成用于对日志进行反序列化处理的接口;
根据所述日志存储方式生成用于存储日志的接口;和
根据所述日志查询方式生成用于查询日志的接口。
根据本公开的实施例,所述根据所述日志序列化方式生成用于对日志进行序列化处理的接口包括:
若所述日志序列化方式为文本方式,将所述数据结构中的日志字段及与所述日志字段对应的字段属性转化为文本格式,得到与所述数据结构对应的文本字符串;和/或,
若所述日志序列化方式为二进制方式,将所述数据结构中的日志字段及与所述日志字段对应的字段属性转化为二进制格式,得到与所述数据结构对应的二进制串;
所述根据所述日志反序列化方式生成用于对日志进行反序列化处理的接口包括:
若所述日志反序列化方式为文本方式,将与所述数据结构对应的文本字符串转化为所述数据结构中的日志字段及与所述日志字段对应的字段属性;和/或,
若所述日志反序列化方式为二进制方式,将与所述数据结构对应的二进制串转化为所述数据结构中的日志字段及与所述日志字段对应的字段属性;
所述根据所述日志存储方式生成用于存储日志的接口包括:
若所述日志存储方式为数据库存储方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性生成相应的数据库***语句;和/或,
若所述日志存储方式为文件存储方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性将日志字段的值写入对应文件;
所述根据所述日志查询方式生成用于查询日志的接口包括:
若所述日志查询方式为数据库查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性生成相应的数据库查询语句;和/或,
若所述日志查询方式为文件查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性从对应文件中读取日志字段的值。
根据本公开的实施例,所述根据所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口,生成用于处理日志的代码包括:
利用模板解析程序,将所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口解析为对应的代码。
本公开的另一个方面提供了一种日志处理代码的生成装置,包括:第一确定单元,用于确定定制文件,其中,所述定制文件用于描述日志结构和日志处理方式,所述日志结构包括至少一种日志类型,每种日志类型包括多个日志字段和各字段属性;
第一生成单元,用于根据所述日志结构和所述日志处理方式生成日志的数据结构;
第二确定单元,用于根据所述日志的数据结构确定模板文件,其中,所述模板文件用于描述所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口;以及
第二生成单元,用于根据所述日志字段的访问接口以及与所述日志处理方式对应的接口,生成用于处理日志的代码。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机***,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任一项所述的方法。
根据本公开的实施例,采用了使用定制文件确定日志结构和日志处理方式,根据日志结构和日志处理方式生成日志的数据结构,根据日志的数据结构确定日志的模板文件。其中,模板文件中生成日志结构的访问接口以及日志处理方式的访问接口,根据日志结构的访问接口以及日志处理方式的访问接口生成用于处理日志的代码的技术手段。由于使用模板文件可以自动生成用于处理日志的代码,所以至少部分地克服了现有技术中代码改动较多造成的增加开发工作量的技术问题,进而达到了提高日志开发效率,减少维护成本的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的日志处理代码的生成方法和装置的应用场景;
图2示意性示出了根据本公开实施例的日志处理代码的生成方法的流程图;
图3示意性示出了根据本公开另一实施例的日志处理代码的生成方法的流程图;
图4示意性示出了根据本公开另一实施例的日志处理代码的生成方法的流程图;
图5示意性示出了示意性示出了根据本公开实施例的根据日志的数据结构确定模板文件的流程图;
图6示意性示出了根据本公开的实施例的日志处理代码的生成装置的框图;以及
图7示意性示出了根据本公开实施例的适于实现日志处理代码的生成方法的计算机***的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
本公开的实施例提供了一种日志处理代码的生成方法。该方法包括确定定制文件,其中,定制文件用于描述日志结构和日志处理方式,日志结构包括至少一种日志类型、与每种日志类型对应的多个日志字段和各字段属性;根据日志结构和日志处理方式生成日志的数据结构;根据日志的数据结构确定模板文件,其中,模板文件用于描述数据结构中的日志字段的访问接口以及与日志处理方式对应的接口;根据日志字段的访问接口以及与日志处理方式对应的接口,生成用于处理日志的代码。
图1示意性示出了根据本公开实施例的日志处理代码的生成方法和装置的应用场景。
如图1所示,该应用场景可以包括电子设备100,根据本公开的实施例,通过电子设备100可以确定日志定制文件,定制文件可以包括日志结构和日志处理方式,其中,日志结构可以包括一种或多种日志类型、与每种日志类型对应的多个日志字段和各字段属性,日志处理方式可以包括日志序列化方式、日志反序列化方式、日志存储方式或日志查询方式等。通过解析定制文件可以得到与日志类型对应的日志的数据结构,根据日志的数据结构可以确定日志的模板文件,通过解析模板文件可以自动生成日志结构和日志处理方式对应的接口,其中接口可以是能够访问日志结构和实现日志处理方式的代码。在图1所示的示例中,电子设备100为笔记本电脑,需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
图2示意性示出了根据本公开实施例的日志处理代码的生成方法的流程图。
如图2所示,该方法包括操作S201~S204。
在操作S201,确定定制文件,其中,定制文件用于描述日志结构和日志处理方式,日志结构包括至少一种日志类型、与每种日志类型对应的多个日志字段和各字段属性。
其中,日志处理方式包括以下至少之一:日志序列化方式、日志反序列化方式、日志存储方式或日志查询方式。
根据本公开的实施例,定制文件可以理解为一种配置文件,可以在定制文件中定义日志结构和日志处理方式。定制文件可以采用json、xml或ini等文件格式。
其中,日志结构可以包括日志类型、每一种日志类型对应的日志字段及日志字段的字段属性。例如,日志类型可以包括***日志、操作日志、流量日志等,日志字段可以包括IP,该日志字段的值可以包括具体的IP地址,该日志字段的字段属性可以包括字段大小、字段类型、存储属性等,其中,存储属性可以包括数据库列名或文件名等。
日志处理方式可以为日志的序列化方式、反序列化方式、存储方式、查询方式等。其中,日志的序列化方式可以理解为按照某种格式对日志进行封装,日志的反序列化可以理解为将封装的日志按照对应封装的格式解析出日志。日志的序列化方式可以为文本方式或二进制方式。日志的存储方式可以为数据库存储方式或文件存储方式,对应地,日志的查询方式可以为数据库查询方式或文件查询方式。
可以理解的是,采用定制文件可以定义多种不同的日志结构或日志处理方式,能够实现灵活定制日志的目的。
在操作S202,根据日志结构和日志处理方式生成日志的数据结构。
根据本公开的实施例,可以采用解析程序解析定制文件,将定制文件中的日志结构和日志处理方式解析为日志的数据结构。其中,解析程序可以采用任意一种编程语言,例如,C语言、Go语言、Java语言或其它。例如,采用Go语言编写解析程序,对json格式的定制文件进行解析,生成与日志类型对应的数据结构。
根据本公开的实施例,日志的数据结构可以是一种结构体。可以理解的是,每一种日志类型可以对应一种结构体,结构体中包括与该日志类型对应的多个日志字段、与日志字段对应的字段属性以及日志处理方式。
在操作S203,根据日志的数据结构确定模板文件,其中,模板文件用于描述数据结构中的日志字段的访问接口以及与日志处理方式对应的接口。
根据本公开的实施例,可以采用编程语言编写日志字段及日志处理方式的接口,得到模板文件,其中,编程语言可以为任意一种编程语言,例如,C语言、Go语言、Java语言或其它,接口可以是采用任意一种编程语言编写的代码。
根据本公开的实施例,采用编程语言编写日志的数据结构中的每个字段的接口,该接口可以访问日志字段,也可以为每个日志字段赋值。其中,日志的数据结构可以理解为包括多个日志字段、与日志字段对应的字段属性以及日志处理方式的结构体。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志序列化方式的具体实现代码。例如,日志的序列化方式可以为文本方式,文本方式的格式为Key-Value对,可以指定Key(关键字)名称。用于实现该序列化方式的代码可以描述为:循环遍历数据结构的每个日志字段,将每个日志字段的Key和字段的值转化为key=“value”格式,例如某个字段的Key为sip,值为1.1.1.1,则该字段序列化为sip=“1.1.1.1”,数据结构中所有字段序列化完成后,得到一个文本字符串。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志反序列化方式的具体实现代码。其中,日志的反序列化方式可以根据日志的序列化方式确定,例如,日志的序列化方式可以为文本方式,日志的反序列化可以根据文本格式进行解析,用于实现该反序列化方式的代码可以描述为:将序列化的文本字符串中每个Key-Value对解析为日志字段的Key和日志字段的值,例如将文本格式sip=“1.1.1.1”解析为日志字段的Key为sip,值为1.1.1.1。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志存储方式的具体实现代码。例如,日志存储方式可以为数据库存储方式,日志存储方式的代码可以实现:根据日志字段的存储属性,循环遍历日志的数据结构的每个字段和字段的值,生成***数据库的对应的Insert SQL语句,其中,存储属性可以为数据库列名。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志查询方式的具体实现代码。例如,日志的查询方式根据日志的存储方式确定,例如,日志存储方式可以为数据库存储方式,日志的查询方式可以为从数据库中查询,用于实现该日志查询方式的代码可以描述为:根据日志字段的存储属性,遍历日志的数据结构中的每个字段,生成查询数据库对应的Select SQL语句,其中,存储属性可以为数据库列名。
可以理解的是,模板文件可以采用任何编程语言进行编写,增加模板文件的灵活性。
在操作S204,根据日志字段的访问接口以及与日志处理方式对应的接口,生成用于处理日志的代码。
根据本公开的实施例,在操作S204,根据日志字段的访问接口以及与日志处理方式对应的接口,生成用于处理日志的代码具体可以包括利用模板解析程序,将数据结构中的日志字段的访问接口以及与日志处理方式对应的接口解析为对应的代码。
根据本公开的实施例,可以采用编程语言编写模板解析程序,加载模板文件,将模板文件中各日志字段的访问接口以及日志处理方式对应的接口解析为对应的代码,该代码为与日志存储、日志查询、日志序列化或日志反序列化等处理相关的代码。其中,编写模板解析程序的编程语言可以为任意一种编程语言,解析出的代码也可以为任意一种编程语言。例如,可以采用Go语言编写模板文件,对应地,可以采用Go语言编写模板解析程序,该模板解析程序可以将Go语言代码解析为对应的C语言代码。
根据本公开的实施例,通过定制文件确定日志结构和日志处理方式,根据日志结构和日志处理方式生成日志的数据结构,根据日志的数据结构确定日志的模板文件,其中,模板文件中生成日志结构的访问接口以及日志处理方式的访问接口,根据日志结构的访问接口以及日志处理方式的访问接口生成用于处理日志的代码。由于使用定制文件确定日志结构、日志序列化方式、反序列化方式、存储方式和/或查询方式等处理方式,使用模板文件自动生成访问日志结构的代码以及实现日志序列化、反序列化、存储和/或查询等处理操作的代码,代替手工编写用于处理日志的代码,能够大幅度提高日志开发效率,减少维护成本,降低错误率,便于后续日志扩展。
图3示意性示出了根据本公开另一实施例的日志处理代码的生成方法的流程图。
如图3所示,该方法包括操作S301~S305。
在操作S301,获取第一更新操作,第一更新操作用于更新日志类型和/或日志字段。
根据本公开的实施例,日志结构可以发生变化,例如,可以新增或删减一种日志类型,或者新增或删减一种日志字段。
在操作S302,响应于第一更新操作,修改定制文件。
根据本公开的实施例,在确定新增或删减一种日志类型,或者新增或删减一种日志字段等更新操作后,可以根据该更新操作修改定制文件,例如可以在定制文件中新增或删减一种日志类型,或者新增或删减一种日志字段。
在操作S303,根据修改后的定制文件生成更新后的日志的数据结构。
根据本公开的实施例,修改后的定制文件中的日志结构发生变化,解析修改后的定制文件,将该定制文件中更新后的日志结构解析为更新后的日志的数据结构。其中,日志的数据结构可以是一种结构体。
在操作S304,根据更新后的日志的数据结构确定更新后的模板文件。
根据本公开的实施例,采用编程语言编写日志字段及日志处理方式的接口,可以得到模板文件,其中,编程语言可以为任意一种编程语言,例如,C语言、Go语言、Java语言或其它,接口可以理解为采用任意一种编程语言编写的代码。
根据本公开的实施例,采用编程语言编写更新后的日志的数据结构中每个字段的接口,该接口可以访问日志字段,也可以为每个日志字段赋值。
在操作S305,根据更新后的模板文件生成更新后的用于处理日志的代码。
根据本公开的实施例,采用编程语言编写模板解析程序,加载模板文件,将模板文件中更新后的日志字段的访问接口解析为对应的代码。其中,编写模板解析程序的编程语言可以为任意一种编程语言。
图4示意性示出了根据本公开另一实施例的日志处理代码的生成方法的流程图。
如图4所示,该方法包括操作S401~S404。
在操作S401,获取第二更新操作,第二更新操作用于更新日志处理方式。
根据本公开的实施例,日志处理方式可以发生变化,例如,改变日志序列化方式、改变日志存储方式等。
在操作S402,响应于第二更新操作,生成更新后的日志的数据结构;
根据本公开的实施例,在确定更新日志处理方式后,根据更新后的的日志处理方式可以对应生成更新后的日志的数据结构。
在操作S403,根据更新后的日志的数据结构确定更新后的模板文件。
根据本公开的实施例,可以根据更新后的日志的数据结构更新模板文件,例如,可以采用编程语言在模板文件中新增一种序列化方式的接口,或者新增一种存储方式的接口。其中,编程语言可以为任意一种语言。
在操作S404,根据更新后的模板文件生成更新后的用于处理日志的代码。
根据本公开的实施例,可以采用编程语言编写模板解析程序,加载更新后的模板文件,将该模板文件中更新后日志处理方式对应的接口解析为对应的代码。其中,编写模板解析程序的编程语言可以为任意一种编程语言。
图5示意性示出了根据本公开实施例的根据日志的数据结构确定模板文件的流程图。
如图5所示,根据本公开的实施例,在操作S203,根据日志的数据结构确定模板文件具体可以包括操作S501~S502。
在操作S501,生成数据结构中的日志字段的访问接口,并对日志字段进行赋值。
根据本公开的实施例,采用编程语言编写日志的数据结构中的每个字段的接口,该接口可以访问日志字段,也可以为每个日志字段赋值。
在操作S502,可以包括操作S5021~操作S5024中的至少一个:
在操作S5021,根据日志序列化方式生成用于对日志进行序列化处理的接口。
根据本公开的实施例,在操作S5021具体可以包括若日志序列化方式为文本方式,将数据结构中的日志字段及与日志字段对应的字段属性转化为文本格式,得到与数据结构对应的文本字符串。
若日志序列化方式为二进制方式,将数据结构中的日志字段及与日志字段对应的字段属性转化为二进制格式,得到与数据结构对应的二进制串。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志序列化方式的具体实现代码。例如,日志的序列化方式可以为文本方式,文本方式格式为Key-Value对,可以指定Key(关键字)名称。该序列化方式的代码可以实现:循环遍历数据结构的每个日志字段,将每个日志字段的Key和字段的值转化为key=“value”格式,例如某日志字段的Key为sip,值为1.1.1.1,则该字段序列化为sip=“1.1.1.1”,数据结构中所有字段序列化完成后,得到一个文本字符串。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志序列化方式的具体实现代码。例如,日志的序列化方式可以为二进制方式,文本方式的格式为Type-Length-Value(简称为TLV格式),可以指定Type(类型)和Length(长度)。用于实现该序列化方式的代码可以描述为:循环遍历数据结构的每个日志字段,将每个日志字段的类型、长度和字段的值转化为Type Length Value格式,例如某个日志字段的类型为0x01,长度为0x07,字段的值为1.1.1.1,则该字段序列化为T=0x01 L=0x07 V=”1.1.1.1”,数据结构中所有字段序列化完成后,得到一个二进制串。
在操作S5022,根据日志序列化方式生成用于对日志进行反序列化处理的接口。
根据本公开的实施例,在操作S5022具体可以包括若日志反序列化方式为文本方式,将与数据结构对应的文本字符串转化为数据结构中的日志字段及与日志字段对应的字段属性。
若日志反序列化方式为二进制方式,将与数据结构对应的二进制串转化为数据结构中的日志字段及与日志字段对应的字段属性。
根据本公开的实施例,可以采用某种编程语言编写日志的数据结构中的日志反序列化方式的具体实现代码。其中,日志的反序列化方式根据日志的序列化方式确定,例如,日志的序列化方式可以为文本方式,日志的反序列化可以根据文本格式进行解析,用于实现该反序列化方式的代码可以描述为:将序列化的文本字符串中每个Key-Value对解析为日志字段的Key和日志字段的值,例如将文本格式sip=“1.1.1.1”解析为日志字段的Key为sip,值为1.1.1.1。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志反序列化方式的具体实现代码。其中,日志的反序列化方式根据日志的序列化方式确定,例如,日志的序列化方式可以为二进制方式,日志的反序列化可以根据二进制格式进行解析,用于实现该反序列化方式的代码可以描述为:将序列化的二进制串中每个Type Length Value解析为日志字段的类型、长度和值,例如将文本格式T=0x01 L=0x07 V=”1.1.1.1”解析为字段类型为0x01,字段长度为0x07,值为1.1.1.1。
在操作S5023,根据日志存储方式生成用于存储日志的接口。
根据本公开的实施例,在操作S5023具体可以包括若日志存储方式为数据库存储方式,根据数据结构中的日志字段及与日志字段对应的字段属性生成相应的数据库***语句;
若日志存储方式为文件存储方式,根据数据结构中的日志字段及与日志字段对应的字段属性将日志字段的值写入对应文件;
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志存储方式的具体实现代码。其中,日志存储方式可以为数据库存储方式,用于实现该存储方式的代码可以描述为:根据日志字段的存储属性,循环遍历日志的数据结构的每个字段和字段的值生成***数据库的对应的Insert SQL语句,其中,存储属性可以为数据库列名。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志存储方式的具体实现代码。其中,日志存储方式可以为文件存储方式,用于实现该存储方式的代码可以描述为:根据日志字段的存储属性打开对应文件,将各日志字段的值写入文件,其中,存储属性可以为文件名称。
在操作S5024,根据日志查询方式生成用于查询日志的接口。
根据本公开的实施例,在操作S5024具体可以包括若日志查询方式为数据库查询方式,根据所述数据结构中的日志字段及与日志字段对应的字段属性生成相应的数据库查询语句;
若日志查询方式为文件查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性从对应文件中读取日志字段的值。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志查询方式的具体实现代码。其中,日志的查询方式根据日志的存储方式确定,例如,日志存储方式可以为数据库存储方式,日志的查询方式可以为从数据库中查询,用于实现该日志查询方式的代码可以描述为:根据日志字段的存储属性,遍历日志的数据结构中的每个字段,生成查询数据库对应的Select SQL语句,其中,存储属性可以为数据库列名。
根据本公开的实施例,可以采用编程语言编写日志的数据结构中的日志查询方式的具体实现代码。其中,日志的查询方式根据日志的存储方式确定,例如,日志存储方式可以为文件存储方式,日志的查询方式可以为从文件中查询,用于实现该日志查询方式的代码可以描述为:根据日志字段的存储属性打开对应文件,读取文件中的各日志字段的值,其中,存储属性可以为文件名称。
图6示意性示出了根据本公开的实施例的日志处理代码的生成装置的框图。
如图6所示,日志处理代码的生成装置600包括第一确定单元601、第一生成单元602、第二确定单元603和第二生成单元604。
第一确定单元601用于确定定制文件,其中,定制文件用于描述日志结构和日志处理方式,日志结构包括至少一种日志类型、与每种日志类型对应的多个日志字段和各字段属性。
第一生成单元602用于根据日志结构和日志处理方式生成日志的数据结构。
第二确定单元603用于根据日志的数据结构确定模板文件,其中,模板文件用于描述数据结构中的日志字段的访问接口以及与日志处理方式对应的接口。
第二生成单元604用于根据日志字段的访问接口以及与日志处理方式对应的接口,生成用于处理日志的代码。
根据本公开的实施例,通过定制文件确定日志结构和日志处理方式,根据日志结构和日志处理方式生成日志的数据结构,根据日志的数据结构确定日志的模板文件,其中,模板文件中生成日志结构的访问接口以及日志处理方式的访问接口,根据日志结构的访问接口以及日志处理方式的访问接口生成用于处理日志的代码。由于使用定制文件确定日志结构、日志序列化方式、反序列化方式、存储方式和/或查询方式等处理方式,使用模板文件自动生成访问日志结构的代码以及实现日志序列化、反序列化、存储和/或查询等处理操作的代码,代替手工编写用于处理日志的代码,能够大幅度提高日志开发效率,减少维护成本,降低出错误率,便于后续日志扩展。
根据本公开的实施例,日志处理代码的生成装置还包括第一获取单元、第一修改单元、第三生成单元和第四生成单元。
第一获取单元用于获取第一更新操作,第一更新操作用于更新日志类型和/或日志字段。
第一修改单元用于响应于第一更新操作,修改定制文件。
第三生成单元用于根据修改后的定制文件生成更新后的日志的数据结构。
第三确定单元用于根据更新后的日志的数据结构确定更新后的模板文件。
第四生成单元用于根据更新后的模板文件生成更新后的用于处理日志的代码。
根据本公开的实施例,日志处理代码的生成装置还包括第二获取单元、第五生成单元、第四确定单元和第六生成单元。
第二获取单元用于获取第二更新操作,第二更新操作用于更新日志处理方式。
第五生成单元用于响应于第二更新操作,生成更新后的日志的数据结构。
第四确定单元用于根据所述更新后的日志的数据结构确定更新后的模板文件。
第六生成单元用于根据所述更新后的模板文件生成更新后的用于处理日志的代码。
根据本公开的实施例,日志处理方式包括以下至少之一:日志序列化方式、日志反序列化方式、日志存储方式或日志查询方式。
根据本公开的实施例,第二确定单元包括第一生成模块、第二生成模块、第三生成模块、第四生成模块和第五生成模块。
第一生成模块用于生成数据结构中的日志字段的访问接口,并对所述日志字段进行赋值。
第二生成模块用于根据日志序列化方式生成用于对日志进行序列化处理的接口。
第三生成模块用于根据日志序列化方式生成用于对日志进行反序列化处理的接口。
第四生成模块用于根据日志存储方式生成用于存储日志的接口。
第五生成模块用于根据日志查询方式生成用于查询日志的接口。
根据本公开的实施例,第二生成模块具体用于若日志序列化方式为文本方式,将数据结构中的日志字段及与日志字段对应的字段属性转化为文本格式,得到与数据结构对应的文本字符串。若日志序列化方式为二进制方式,将数据结构中的日志字段及与日志字段对应的字段属性转化为二进制格式,得到与数据结构对应的二进制串。
根据本公开的实施例,第三生成模块具体用于若日志序列化方式为文本方式,将与数据结构对应的文本字符串转化为数据结构中的日志字段及与日志字段对应的字段属性。若日志序列化方式为二进制方式,将与数据结构对应的二进制串转化为数据结构中的日志字段及与日志字段对应的字段属性。
根据本公开的实施例,第四生成模块具体用于若日志存储方式为数据库存储方式,根据数据结构中的日志字段及与日志字段对应的字段属性生成相应的数据库***语句。若日志存储方式为文件存储方式,根据数据结构中的日志字段及与日志字段对应的字段属性将日志字段的值写入对应文件。
根据本公开的实施例,第五生成模块具体用于若日志查询方式为数据库查询方式,根据所述数据结构中的日志字段及与日志字段对应的字段属性生成相应的数据库查询语句。若日志查询方式为文件查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性从对应文件中读取日志字段的值。
根据本公开的实施例,第二生成单元具体用于利用模板解析程序,将数据结构中的日志字段的访问接口以及与日志处理方式对应的接口解析为对应的代码。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一确定单元601、第一生成单元602、第二确定单元603、以及第二生成单元604中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一确定单元601、第一生成单元602、第二确定单元603、以及第二生成单元604中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定单元601、第一生成单元602、第二确定单元603、以及第二生成单元604中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中日志处理代码的生成装置部分与本公开的实施例中日志处理代码的生成方法部分是相对应的,日志处理代码的生成装置部分的描述具体参考日志处理代码的生成方法部分,在此不再赘述。
图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机***的框图。图7示出的计算机***仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的计算机***700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有***700操作所需的各种程序和数据。处理器701、ROM 702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,***700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。***700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (7)
1.一种日志处理代码的生成方法,包括:
确定定制文件,其中,所述定制文件用于描述日志结构和日志处理方式,所述日志结构包括至少一种日志类型、与每种日志类型对应的多个日志字段和各字段属性;
根据所述日志结构和所述日志处理方式生成日志的数据结构;
根据所述日志的数据结构确定模板文件,其中,所述模板文件用于描述所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口;以及
根据所述日志字段的访问接口以及与所述日志处理方式对应的接口,生成用于处理日志的代码;
所述日志处理方式包括以下至少之一:日志序列化方式、日志反序列化方式、日志存储方式或日志查询方式;
根据所述日志的数据结构确定模板文件包括:
生成所述数据结构中的日志字段的访问接口,并对所述日志字段进行赋值;以及
以下操作中的至少一个:
根据所述日志序列化方式生成用于对日志进行序列化处理的接口;
根据所述日志反序列化方式生成用于对日志进行反序列化处理的接口;
根据所述日志存储方式生成用于存储日志的接口;和
根据所述日志查询方式生成用于查询日志的接口;
所述根据所述日志序列化方式生成用于对日志进行序列化处理的接口包括:
若所述日志序列化方式为文本方式,将所述数据结构中的日志字段及与所述日志字段对应的字段属性转化为文本格式,得到与所述数据结构对应的文本字符串;和/或,
若所述日志序列化方式为二进制方式,将所述数据结构中的日志字段及与所述日志字段对应的字段属性转化为二进制格式,得到与所述数据结构对应的二进制串;
所述根据所述日志反序列化方式生成用于对日志进行反序列化处理的接口包括:
若所述日志反序列化方式为文本方式,将与所述数据结构对应的文本字符串转化为所述数据结构中的日志字段及与所述日志字段对应的字段属性;和/或,
若所述日志反序列化方式为二进制方式,将与所述数据结构对应的二进制串转化为所述数据结构中的日志字段及与所述日志字段对应的字段属性;
所述根据所述日志存储方式生成用于存储日志的接口包括:
若所述日志存储方式为数据库存储方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性生成相应的数据库***语句;和/或,
若所述日志存储方式为文件存储方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性将日志字段的值写入对应文件;
所述根据所述日志查询方式生成用于查询日志的接口包括:
若所述日志查询方式为数据库查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性生成相应的数据库查询语句;和/或,
若所述日志查询方式为文件查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性从对应文件中读取日志字段的值。
2.根据权利要求1所述的方法,还包括:
获取第一更新操作,所述第一更新操作用于更新所述日志类型和/或日志字段;
响应于所述第一更新操作,修改所述定制文件;
根据修改后的定制文件生成更新后的日志的数据结构;
根据所述更新后的日志的数据结构确定更新后的模板文件;以及
根据所述更新后的模板文件生成更新后的用于处理日志的代码。
3.根据权利要求1所述的方法,还包括:
获取第二更新操作,所述第二更新操作用于更新所述日志处理方式;
响应于所述第二更新操作,生成更新后的日志的数据结构;
根据所述更新后的日志的数据结构确定更新后的模板文件;以及
根据所述更新后的模板文件生成更新后的用于处理日志的代码。
4.根据权利要求1所述的方法,其中,所述根据所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口,生成用于处理日志的代码包括:
利用模板解析程序,将所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口解析为对应的代码。
5.一种日志处理代码的生成装置,包括:
第一确定单元,用于确定定制文件,其中,所述定制文件用于描述日志结构和日志处理方式,所述日志结构包括至少一种日志类型,每种日志类型包括多个日志字段和各字段属性;
第一生成单元,用于根据所述日志结构和所述日志处理方式生成日志的数据结构;
第二确定单元,用于根据所述日志的数据结构确定模板文件,其中,所述模板文件用于描述所述数据结构中的日志字段的访问接口以及与所述日志处理方式对应的接口;以及
第二生成单元,用于根据所述日志字段的访问接口以及与所述日志处理方式对应的接口,生成用于处理日志的代码;
所述日志处理方式包括以下至少之一:日志序列化方式、日志反序列化方式、日志存储方式或日志查询方式;
根据所述日志的数据结构确定模板文件包括:
生成所述数据结构中的日志字段的访问接口,并对所述日志字段进行赋值;以及
以下操作中的至少一个:
根据所述日志序列化方式生成用于对日志进行序列化处理的接口;
根据所述日志反序列化方式生成用于对日志进行反序列化处理的接口;
根据所述日志存储方式生成用于存储日志的接口;和
根据所述日志查询方式生成用于查询日志的接口;
所述根据所述日志序列化方式生成用于对日志进行序列化处理的接口包括:
若所述日志序列化方式为文本方式,将所述数据结构中的日志字段及与所述日志字段对应的字段属性转化为文本格式,得到与所述数据结构对应的文本字符串;和/或,
若所述日志序列化方式为二进制方式,将所述数据结构中的日志字段及与所述日志字段对应的字段属性转化为二进制格式,得到与所述数据结构对应的二进制串;
所述根据所述日志反序列化方式生成用于对日志进行反序列化处理的接口包括:
若所述日志反序列化方式为文本方式,将与所述数据结构对应的文本字符串转化为所述数据结构中的日志字段及与所述日志字段对应的字段属性;和/或,
若所述日志反序列化方式为二进制方式,将与所述数据结构对应的二进制串转化为所述数据结构中的日志字段及与所述日志字段对应的字段属性;
所述根据所述日志存储方式生成用于存储日志的接口包括:
若所述日志存储方式为数据库存储方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性生成相应的数据库***语句;和/或,
若所述日志存储方式为文件存储方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性将日志字段的值写入对应文件;
所述根据所述日志查询方式生成用于查询日志的接口包括:
若所述日志查询方式为数据库查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性生成相应的数据库查询语句;和/或,
若所述日志查询方式为文件查询方式,根据所述数据结构中的日志字段及与所述日志字段对应的字段属性从对应文件中读取日志字段的值。
6.一种计算机***,包括:
一个或多个处理器;
计算机可读存储介质,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至4中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425704.2A CN111177089B (zh) | 2019-12-31 | 2019-12-31 | 日志处理代码的生成方法和装置、计算机***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425704.2A CN111177089B (zh) | 2019-12-31 | 2019-12-31 | 日志处理代码的生成方法和装置、计算机***和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177089A CN111177089A (zh) | 2020-05-19 |
CN111177089B true CN111177089B (zh) | 2023-05-26 |
Family
ID=70650698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911425704.2A Active CN111177089B (zh) | 2019-12-31 | 2019-12-31 | 日志处理代码的生成方法和装置、计算机***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177089B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199335A (zh) * | 2020-09-26 | 2021-01-08 | 广州鲁邦通物联网科技有限公司 | 一种操作日志的生成方法和生成*** |
CN113760655B (zh) * | 2021-08-27 | 2024-07-26 | 中移(杭州)信息技术有限公司 | 门锁日志的解析方法、装置及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324996A (zh) * | 2018-10-12 | 2019-02-12 | 平安科技(深圳)有限公司 | 日志文件处理方法、装置、计算机设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150242431A1 (en) * | 2014-02-25 | 2015-08-27 | Ca, Inc. | Computer system log file analysis based on field type identification |
US10140287B2 (en) * | 2015-09-09 | 2018-11-27 | International Business Machines Corporation | Scalable and accurate mining of control flow from execution logs across distributed systems |
-
2019
- 2019-12-31 CN CN201911425704.2A patent/CN111177089B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324996A (zh) * | 2018-10-12 | 2019-02-12 | 平安科技(深圳)有限公司 | 日志文件处理方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
乔晓琳 ; 刘定生 ; 李景山 ; .基于通用遥感数据处理***的日志子***的设计与实现.遥感信息.2008,(06),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111177089A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221521B (zh) | 日志代码的生成方法、装置、计算机***和可读存储介质 | |
CN108984174B (zh) | 跨平台的应用创建方法、装置、服务器和存储介质 | |
US9928038B2 (en) | Dynamically building locale objects or subsections of locale objects based on historical data | |
US8626786B2 (en) | Dynamic language checking | |
JP2019053729A (ja) | スマートコントラクトのテスト方法及びテスト装置 | |
CN111177089B (zh) | 日志处理代码的生成方法和装置、计算机***和存储介质 | |
CN115357663A (zh) | 基于增量数据同步组件的数据同步方法、***及装置 | |
CN108241720B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN113419740A (zh) | 程序数据流的分析方法、装置、电子设备及可读存储介质 | |
CN113094026A (zh) | 代码处理方法和装置 | |
US8607201B2 (en) | Augmenting visualization of a call stack | |
CN116483888A (zh) | 程序评估方法及装置、电子设备和计算机可读存储介质 | |
CN113032256B (zh) | 自动化测试方法、装置、计算机***和可读存储介质 | |
CN117009397A (zh) | 数据查询方法、数据查询装置、电子设备和存储介质 | |
CN113138767B (zh) | 代码语言转换方法、装置、电子设备及存储介质 | |
US20220374398A1 (en) | Object Creation from Schema for Event Streaming Platform | |
CN113778451A (zh) | 文件加载方法、装置、计算机***和计算机可读存储介质 | |
CN112068814A (zh) | 可执行文件的生成方法、装置、***及介质 | |
CN117609042A (zh) | 基于MyBatis框架的接口映射文件测试方法、装置和设备 | |
CN116257673A (zh) | 基于ElasticSearch的数据查询方法、装置、设备及存储介质 | |
CN116821158A (zh) | 结构化查询语句生成方法、装置、电子设备和存储介质 | |
CN117406971A (zh) | 基于持久层框架的数据库配置方法、装置和设备 | |
CN116820566A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN115421738A (zh) | 版本部署方法、装置、电子设备和存储介质 | |
CN116339755A (zh) | 数据库对象的安装方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |