CN106484742A - 日志处理方法和装置 - Google Patents

日志处理方法和装置 Download PDF

Info

Publication number
CN106484742A
CN106484742A CN201510556008.0A CN201510556008A CN106484742A CN 106484742 A CN106484742 A CN 106484742A CN 201510556008 A CN201510556008 A CN 201510556008A CN 106484742 A CN106484742 A CN 106484742A
Authority
CN
China
Prior art keywords
daily record
stored
data base
module
correction process
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.)
Pending
Application number
CN201510556008.0A
Other languages
English (en)
Inventor
赵春猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510556008.0A priority Critical patent/CN106484742A/zh
Publication of CN106484742A publication Critical patent/CN106484742A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

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)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志处理方法和装置。其中,该方法包括:获取采集到的日志;获取日志的级别;将一个或多个级别的日志结构化存储在数据库中。通过本发明,解决了现有的日志处理机制进行数据传输和存储时处理效率低,处理资源浪费的技术问题,实现了对日志的高效处理。

Description

日志处理方法和装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种日志处理方法和装置。
背景技术
NLog(一种日志工具)是一个基于.NET平台(一种网络服务平台)编写的类库,经常被用作记录应用程序中完善的跟踪调试信息,应用程序每一秒都在被成千上万人使用,跟踪调试信息的数据量将会非常大。
现有的日志处理机制只能按照预定周期或预定条件上报日志,并将日志进行存储和传输,由于现有技术中需要对全部的日志做存储和传输处理,当NLog中的跟踪调试信息的数据量异常巨大时,将会造成处理资源的浪费。
针对现有的日志处理机制进行数据传输和存储时处理效率低,处理资源浪费的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种日志处理方法和装置,以至少解决现有的日志处理机制进行数据传输和存储时处理效率低,处理资源浪费的技术问题。
根据本发明实施例的一个方面,提供了一种日志处理方法,该日志处理方法包括:获取采集到的日志;获取上述日志的级别;将一个或多个级别的日志结构化存储在数据库中。
进一步地,上述将一个或多个级别的日志结构化存储在数据库中包括:从用于记录程序运行出错的一个或多个级别的日志中提取预设字段的属性信息;将提取到的上述属性信息存储在数据库的报表中,其中,上述报表中记录有上述预设字段与上述属性信息的对应关系。
进一步地,在将提取到的上述属性信息存储在上述数据库的报表中之后,上述方法还包括:通过关键字查询存储在上述数据库的报表中的日志,得到查询到的日志;根据上述预设字段中的标识字段判断上述查询到的日志中是否存在未进行纠错处理的日志;在判断为是时,远程调用纠错程序对上述未进行纠错处理的日志进行纠错处理。
进一步地,在远程调用纠错程序对上述未进行纠错处理的日志进行纠错处理之后,上述方法还包括:修改经过上述纠错处理后的日志的标识字段。
根据本发明实施例的另一方面,还提供了一种日志处理装置,该日志处理装置包括:第一获取模块,用于获取采集到的日志;第二获取模块,用于获取上述日志的级别;存储模块,用于将一个或多个级别的日志结构化存储在数据库中。
进一步地,上述存储模块包括:提取子模块,用于从用于记录程序运行出错的一个或多个级别的日志中提取预设字段的属性信息;存储子模块,用于将提取到的上述属性信息存储在数据库的报表中,其中,上述报表中记录有上述预设字段与上述属性信息的对应关系。
进一步地,上述装置还包括:查询模块,用于通过关键字查询存储在上述数据库的报表中的日志,得到查询到的日志;判断模块,用于根据上述预设字段中的标识字段判断上述查询到的日志中是否存在未进行纠错处理的日志;纠错模块,用于在判断模块判断为是时,远程调用纠错程序对上述未进行纠错处理的日志进行纠错处理。
进一步地,上述装置还包括:字段修改模块,用于在纠错模块远程调用纠错程序对上述未进行纠错处理的日志进行纠错处理之后,修改经过上述纠错处理后的日志的标识字段。
在本发明实施例中,通过获取采集到的日志及其日志级别,并将一个或多个级别的日志结构化存储在数据库中,解决了现有的日志处理机制处理效率较低的技术问题。此外,根据日志级别字段存储符合要求的日志,避免了对无需处理的日志进行处理,并采用数据库进行存储的方式,减少了数据存储量,解决了现有技术中处理资源浪费的技术问题,实现了对日志的高效处理。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种日志处理方法的流程图;
图2是根据本发明实施例的一种可选的日志处理方法的流程图;
图3是根据本发明实施例的一种用于实施日志处理方法的装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种日志处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例1
图1是根据本发明实施例的一种日志处理方法的流程图,如图1所示,该方法可以包括如下步骤:
步骤S102,获取采集到的日志;
步骤S104,获取日志的级别;
步骤S106,将一个或多个级别的日志结构化存储在数据库中。
在本发明实施例中,通过获取采集到的日志及其日志级别,并将一个或多个级别的日志结构化存储在数据库中,解决了现有的日志处理机制处理效率较低的技术问题。此外,根据日志级别字段存储符合要求的日志,避免了对无需处理的日志进行处理,并采用数据库进行存储的方式,减少了数据存储量,解决了现有技术中处理资源浪费的技术问题,实现了对日志的高效处理。
其中,可以获取各个终端上的处理程序的日志,以获取采集的日志,在获取采集的日志之后,根据日志中的日志级别字段获取各个日志的级别,将符合要求的一个或多个级别的日志进行存储。
可选地,将一个或多个级别的日志进行存储包括:将用于记录程序运行出错的一个或多个级别的日志结构化存储在数据库中,其中,在将用于记录程序运行出错的一个或多个级别的日志存储至数据库之前,可以对用于记录程序运行出错的一个或多个级别的日志中的日志数据进行预处理,例如,该预处理的方式为:将该日志数据进行切分,得到切分后的日志数据。
通过上述实施例,将用于记录程序运行出错的一个或多个级别的日志结构化存储在数据库中,减少了数据传输量和存储量。
可选地,在获取采集的日志之后,根据日志中的日志级别字段获取各个日志的级别,将记录程序运行出错的一个或多个级别的日志结构化存储在数据库中。
具体地,NLog是用于记录应用程序中完善的跟踪调试信息的一种日志工具,其中,访问的每条跟踪信息都包含一个日志级别(log level)信息,“info(信息类型的信息)”、“debug(一般用于调试程序的记录信息)”、“error(错误信息)”、“fatal(致命异常信息)”等分别用来描述该条信息的重要性。可选地,上述的记录程序运行出错的一个或多个级别的日志可以为去除掉“info”、“dubug”信息,包含“error”和/或“fatal”信息的日志。具体地,“info(信息类型的信息)”、“debug(一般用于调试程序的记录信息)”、“error(错误信息)”、“fata l(致命异常信息)”等为四个级别的日志级别信息,这四个级别的日志级别信息分别用来描述信息的重要性。
在本发明的上述实施例中,在将用于记录程序运行出错的一个或多个级别的日志结构化存储在数据库中之后,该日志处理方法还包括:通过邮件发送记录程序运行出错的一个或多个级别的日志。
具体地,可以将结构化存储在数据库中的所有日志汇总成一个文件后,通过邮件发送给指定的接收人。
通过上述实施例,在结构化存储用于记录程序运行出错的一个或多个级别的日志之后,将所有结构化存储用于记录程序运行出错的一个或多个级别的日志汇总成一个文件后,可以通过发送模块以邮件方式直接发送给指定的接收人,接收人可以直接看到包含原始出错信息的日志,以便于接收人直接对日志进行纠错处理。其中,指定的接收人可以为与邮件发送的记录程序运行出错的一个或多个级别的日志对应的服务器的所属人,在此不做具体地限定。
具体地,在结构化存储用于记录程序运行出错的一个或多个级别的日志之后,将所有结构化存储的日志汇总成一个文件后,可以通过邮件方式发送记录程序运行出错的一个或多个级别的日志,记录程序运行出错的一个或多个级别的日志可以为包含“error”和/或“fatal”信息的日志。
其中,通过邮件方式发送的信息可以包括:服务器获取日志的时间、日志中记录程序运行出错的详细信息以及预处理之后的信息,预处理之后的信息可以包含每个日志对应的服务器地址或计算机名。
在本发明的上述实施例中,将一个或多个级别的日志结构化存储在数据库中包括:从用于记录程序运行出错的一个或多个级别的日志中提取预设字段的属性信息;将提取到的属性信息存储在数据库的报表中,其中,报表中记录有预设字段与属性信息的对应关系。
可选地,在将提取到的属性信息存储在数据库的报表中之后,该日志处理方法还包括:通过关键字查询存储在数据库的报表中的日志,得到查询到的日志;根据预设字段中的标识字段判断查询到的日志中是否存在未进行纠错处理的日志;在判断为是时,远程调用纠错程序对未进行纠错处理的日志进行纠错处理。可选地,如表1所示,表1中包含不同类型的预设字段和属性信息,每个预设字段均代表不同的含义。例如,数据库的报表中的预设字段可以包括ServerName、IP、Des、LogError、Time以及Flag等字段,其中,ServerName和IP为分布式程序的计算机标识信息,Des、LogError、Time等字段可以利用正则表达式从日志中解析出来,存储在数据库的报表中,Flag字段为枚举值,“1”表示日志已经被处理过,不再重复处理,“0”表示日志没有被处理。具体地,ServerName表示接口名字段、IP表示地址字段、Time表示时间字段、LogError表示记录错误字段、Des表示加密字段以及Flag表示枚举字段。本实施例中的表1及其表中关键字目录仅为示例性说明,依据对日志的实际处理需要,关键字的类别和数目是可变的。
表1
key ServerName IP Time LogError Des Flag
1 1 db136 9.9.9.9 0x00000000000007DA fatal TimeoutExc 0
具体地,在结构化存储一个或多个级别的日志后,一个或多个级别的日志用于记录程序运行出错的error和fatal信息,在对记录程序运行出错的error和fatal信息进行存储时,通过对结构化存储的日志提取属性信息,将提取到的属性信息存储到数据库的报表中。在将提取到的属性信息存储到数据库的报表中之后,可以按照不同分类,不同维度,根据关键字查询存储在数据库的报表中的相应日志,并根据详细的错误信息定位出错的原因,最终通过远程调用相应的纠错程序对该相应日志中未处理的日志进行纠错处理。
可选地,在远程调用纠错程序对未进行纠错处理的日志进行纠错处理之后,修改经过纠错处理后的日志的标识字段。其中,若标识字段为Flag字段,修改标识字段的方式可以为变更该日志的Flag字段的属性值。
通过上述实施例,可以减小存储的日志的数据量。
在本发明的实施例中,预设字段包含Flag字段,Flag字段用于标记一个或多个级别的日志是否经过纠错处理。
通过上述实施例,将结构化存储在数据库中的日志按照预设字段提取属性信息,并将提取到的属性信息进行存储,该属性信息中包含Flag字段,Flag字段用于标记该属性信息对应的日志是否经过纠错处理,避免了对一些已经处理过的日志信息进行再处理的情况发生,从而提高了处理性能和处理效率。
其中,Flag字段为枚举值,其属性值可以为“0”和“1”,若Flag标识字段的属性值为“1”时,则表示日志信息已经被处理,不再重复处理;若Flag标识字段的属性值为“0”时,则表示日志信息没有被处理。
通过上述实施例,通过访问各个终端(如个人计算机、服务器),获取各个终端上的处理程序的日志,即获取采集的日志,在获取采集的日志之后,根据日志中的日志级别字段获取各个日志的级别,将获取到的一个或多个级别的日志结构化存储在数据库中,并对结构化存储在数据库中的日志进行属性信息的提取,将提取到的属性信息存储在数据库的报表中,进而可以根据错误信息的关键字查询存储在数据库的报表中的属性信息对应的日志,进而可以通过Flag字段判断该属性信息对应的日志是否经过纠错处理。
下面结合图2对本发明实施例进行详细说明,如图2所示,该日志处理方法包括如下步骤:
步骤S201,获取采集到的日志。
具体地,可以通过访问各个终端,获取各个终端上的处理程序的日志,即为获取采集到的日志。其中,各个终端可以为各个数据采集分布点(如服务器)。
步骤S203,获取采集到的日志的级别。
具体地,在获取采集到的日志后,根据日志级别(log level)字段,去除掉“info”、“dubug”信息,获取包含“error”、“fatal”信息的日志,即为“error”和/或“fatal”级别的日志。其中,“error”为错误信息,“fatal”为致命异常信息,用来描述信息的重要性。
步骤S205,结构化存储“error”和/或“fatal”级别的日志。
具体地,在获取包含“error”、“fatal”信息的日志之后,结构化存储获取到的日志,这些日志可以为包含“error”和/或“fatal”信息的一个或者多个级别的日志。
步骤S207,将结构化存储的日志预处理后,以邮件方式发送给指定接收人。
具体地,在结构化存储一个或多个级别的日志之后,将所有结构化存储的日志汇总成一个文件后,提取结构化存储的日志中所包含的服务器地址或者计算机信息,获取服务器地址或计算机信息对应的邮箱地址,将上述获取的服务器地址或计算机信息以及日志发送至邮箱地址(即上述的指定接收人),在此,指定接收人不做限定。
步骤S209,在结构化存储的日志中提取预设字段的属性信息,并将提取到的属性信息存储在数据库的报表中。
具体地,通过结构化存储的日志中提取预设字段的属性信息,并将提取到的属性信息存储在数据库的报表中,且数据库的报表中包含不同预设字段,每个预设字段代表不同的含义,通过这些不同预设字段对应的属性信息,方便对存储的日志进行信息处理。
步骤S211,根据关键字信息在数据库的报表中进行查询,得到查询到的日志。
其中,关键字信息可以包括描述错误信息的关键字,也可以包括描述其他必要信息的关键字,关键字的类别和数目可以依据对日志的实际处理需要人为进行设置。
具体地,在数据库的报表中,根据错误信息的关键字进行查询,查询得到相应的日志信息,对应得到该日志所属的计算机名、程序名以及数据库名称。
例如,查询关键字“无中断入口程序”,则获得包含“无中断入口程序”错误信息的所有日志。
步骤S213,根据预设字段中的标识字段判断查询到的日志中是否存在未进行纠错处理的日志。
具体地,可以逐条获取查询到的待处理的日志,并判断待处理的日志中标识字段是否表示该日志是否已经被处理过。其中,待处理的日志可以按照查询到的日志列表顺序依次获取、也可以按照查询到的日志的序号按照预设规则获取,该预设规则的设置可基于优先级等因素,在此不做限制。
可选地,通过标志字段Flag字段的属性值来判断待处理的日志是否经过纠错处理,其中,Flag字段的属性值可以为“0”和“1”,其中,若Flag的属性值为“1”,则表示该待处理的日志已经被纠错处理过,不再重复处理,执行步骤S219输出处理结果;若Flag的属性值为“0”,则表示该待处理的日志没有被纠错处理,则执行步骤S215。
例如,查询关键字“无中断入口程序”,则会得到包含“无中断入口程序”错误信息的所有日志(如,有10个日志),利用key值获取与key值对应的日志的标识字段F l ag的属性值,若标志字段F l ag的属性值为“1”,则表示该对应的日志已经处理过,不再重复处理,输出处理结果;若标志字段Flag的属性值为“0”,则表示对应的日志没有被处理,则执行步骤S215。
步骤S215,根据关键字信息,远程调用纠错程序对未进行纠错处理的日志进行纠错处理。
具体地,通过错误信息的关键字进行查询,在查询到日志并确定该查询到的待处理日志尚未被处理过的情况下,根据日志中详细的错误信息进行定位,定位得到出错的原因,并通过远程调用纠错程序对该相应的未处理的日志进行纠错处理。
步骤S217,变更该日志的flag字段的属性值。
其中,可以将该日志的flag字段的属性值变更为“1”。
步骤S219,输出处理结果。
可选地,在根据标识字段判断查询到的日志中是否有未进行纠错处理的日志之后,若查询到的日志中是否有未进行纠错处理的日志之后,方法还包括:判断是否还有未使用的关键字信息,若不存在未使用的关键字信息,则判断出完成纠错处理,则输出所有的处理结果,若存在未使用的关键字信息,则判断出未完成纠错处理,则使用该未使用的关键字信息进行日志查询,并对查询到的未处理的日志按照上述流程进行纠错处理。
其中,上述的未使用的关键字信息表示为通过该关键字信息进行日志查询。
具体地,在通过远程调用纠错程序对查询到的未处理的日志中的某一条日志进行纠错处理之后,若该条日志成功完成纠错处理,则将查询到的未处理的日志中除过该条日志之外的其余日志作为待处理的日志;若该条日志未成功完成纠错处理,则该条日志仍为待处理的日志。在对某条日志进行一次纠错处理之后,可以利用key值获取下一条日志(下一条日志为从待处理的日志中选取的、处理次序在本次纠错处理次序之后且处理次序相邻的日志)的标识字段,进而通过步骤S213至步骤S217对该下一条日志进行判断和处理。类似地,若存在多个关键字信息时,则通过步骤S211至步骤S217完成对各个关键字的查询以及对各个关键字对应的未处理的日志所进行的判断和处理。其中,key值为标识参数,key值代表包含经过属性信息提取等处理后存储的数据信息的某个日志,根据key值的不同,所代表的日志不同。
通过上述实施例,通过访问各个终端(如个人计算机、服务器),获取各个终端的处理程序的日志,并根据日志级别(log level)字段,去除掉“info”、“dubug”信息,只将文件中包含“error”、“fatal”信息的日志结构化存储在数据库中,其次,通过对结构化存储的日志按照预设字段进行属性信息的提取,并将提取到的属性信息存储到数据库的报表中,进而可以根据错误信息的关键字,查询存储在数据库的报表中的相应的日志,并通过Flag标识字段判断该相应的日志是否经过了纠错处理。
在本发明实施例中,通过获取采集到的日志及其日志级别,并将一个或多个级别的日志结构化存储在数据库中,解决了现有的日志处理机制处理效率较低的技术问题。此外,根据日志级别字段存储符合要求的日志,避免了对无需处理的日志进行处理,并采用数据库进行存储的方式,减少了数据存储量,解决了现有技术中处理资源浪费的技术问题,实现了对日志的高效处理。
实施例2
根据本申请实施例,还提供了一种用于实施上述日志处理方法的装置,如图3所示,该装置可以包括:第一获取模块20、第二获取模块40以及存储模块60。
其中,第一获取模块20,用于获取采集到的日志。
第二获取模块40,用于获取日志的级别。
存储模块60,用于将一个或多个级别的日志结构化存储在数据库中。
在本发明实施例中,通过第一获取模块20获取采集到的日志,以及通过第二获取模块40获取日志级别,并通过存储模块60将一个或多个级别的日志结构化存储在数据库中,解决了现有的日志处理机制处理效率较低的技术问题。此外,根据日志级别字段存储符合要求的日志,避免了对无需处理的日志进行处理,并采用数据库进行存储的方式,减少了数据存储量,解决了现有技术中处理资源浪费的技术问题,实现了对日志的高效处理。
其中,可以通过第一获取模块20获取各个终端上的处理程序的日志,以获取采集的日志,在获取采集的日志之后,根据日志中的日志级别字段通过第二获取模块40获取各个日志的级别,将符合要求的一个或多个级别的日志通过处理模块结构化存储在数据库中。
在本发明的上述实施例中,存储模块60可用于将用于记录程序运行出错的一个或多个级别的日志结构化存储在数据库中,其中,在存储模块60将用于记录程序运行出错的一个或多个级别的日志存储至数据库之前,可以对用于记录程序运行出错的一个或多个级别的日志中的日志数据进行预处理,例如,该预处理的方式为:将该日志数据进行切分,得到切分后的日志数据。
通过上述实施例,可以通过存储模块60结构化存储用于记录程序运行出错的日志,减少了数据传输量和存储量。
具体地,在通过第一获取模块20获取采集的日志之后,根据日志中的日志级别字段,通过第二获取模块40获取各个日志的级别,之后,通过存储模块对记录程序运行出错的一个或多个级别的日志进行结构化存储。
具体地,NLog是用于记录应用程序中完善的跟踪调试信息的一种日志工具,其中,访问的每条跟踪信息都包含一个日志级别(log level)信息,“info(信息类型的信息)”、“debug(一般用于调试程序的记录信息)”、“error(错误信息)”、“fatal(致命异常信息)”等分别用来描述该条信息的重要性。可选地,上述的记录程序运行出错的一个或多个级别的日志可以为去除掉“info”、“dubug”信息,包含“error”和/或“fatal”信息的日志。具体地,“info(信息类型的信息)”、“debug(一般用于调试程序的记录信息)”、“error(错误信息)”、“fatal(致命异常信息)”等为四个级别的日志级别信息,这四个级别的日志级别信息分别用来描述信息的重要性。
可选地,在本发明的上述实施例中,装置还可以包括:发送模块,用于通过邮件发送用于记录程序运行出错的一个或多个级别的日志。例如,将所有结构化存储用于记录程序运行出错的一个或多个级别的日志汇总成一个文件后,通过邮件发送给指定的接收人。
通过上述实施例,在通过存储模块结构化存储用于记录程序运行出错的一个或多个级别的日志之后,将所有结构化存储用于记录程序运行出错的一个或多个级别的日志汇总成一个文件后,可以通过发送模块以邮件方式直接发送给指定的接收人,接收人可以直接看到包含原始出错信息的日志,以便于接收人直接对日志进行纠错处理。其中,指定的接收人可以为与通过发送模块发送的日志对应的服务器或者计算机的所属人,在此不做具体地限定。
具体地,在通过存储模块结构化存储用于记录程序运行出错的一个或多个级别的日志之后,将所有结构化存储的日志汇总成一个文件后,可以通过发送模块以邮件方式发送记录程序运行出错的一个或多个级别的日志,记录程序运行出错的一个或多个级别的日志可以为包含“error”和/或“fatal”信息的日志。
其中,通过发送模块以邮件方式发送的信息可以包括:服务器获取日志的时间、日志中记录程序运行出错的详细信息以及预处理之后的信息,预处理之后的信息可以包含每个日志对应的服务器地址或计算机名。
在本发明的上述实施例中,存储模块还包括:提取子模块,用于从用于记录程序运行出错的一个或多个级别的日志中提取预设字段的属性信息;存储子模块,用于将提取到的属性信息存储在数据库的报表中,其中,报表中记录有预设字段与属性信息的对应关系。
可选地,该装置还包括:查询模块,用于通过关键字查询存储在数据库的报表中的日志,得到查询到的日志;判断模块,用于根据预设字段中的标识字段判断查询到的日志中是否存在未进行纠错处理的日志;纠错模块,用于在判断模块判断为是时,远程调用纠错程序对未进行纠错处理的日志进行纠错处理。
通过上述实施例,通过第一存储子模块结构化存储一个或多个级别的日志,未经处理的Nlog日志原始文件如图2所示,通过提取子模块对一个或多个级别的日志提取预设字段的属性信息,将提取到的属性信息通过存储子模块存储在数据库的报表中,未经处理的N log日志的原始文件结构化存储了日志的原始信息,但是数据量比较大,尤其当跟踪调试信息的数据量非常大时,工作量将非常大,而经过提取子模块处理,并经过第二存储子模块存储在数据库的报表中的日志的属性信息,包含不同类型的数据参数,每个数据参数代表不同的含义,信息明了,方便查询。
具体地,一个或多个级别的日志用于记录程序运行出错的error和fatal信息,在对记录程序运行出错的error和fatal信息进行存储时,通过提取子模块对结构化存储的日志进行预设字段的属性信息的提取,将提取到的属性信息通过第二存储子模块存储到数据库的报表中,在将提取到的属性信息存储在数据库的报表中之后,可以按照不同分类,不同维度,根据关键字,通过查询模块查询存储在数据库的报表中的相应日志,并根据Flag标识字段判断查询到的日志是否经过处理,对未处理的日志,根据详细的错误信息定位出错的原因,最终通过远程调用相应的纠错程序对该未处理的日志进行纠错处理。
可选地,该装置还包括:字段修改模块,用于在纠错模块远程调用纠错程序对未进行纠错处理的日志进行纠错处理之后,修改经过纠错处理后的日志的标识字段。其中,若标识字段为Flag字段,修改Flag字段的方式可以为变更该日志的Flag字段的属性值。
在本发明的实施例中,预设字段包含Flag字段,Flag字段用于标记一个或多个级别的日志是否经过纠错处理。
通过上述实施例,将结构化存储的日志按照预设字段提取属性信息,并将提取到的属性信息进行存储,该属性信息中包含Flag字段,Flag字段用于标记该属性信息对应的日志是否经过纠错处理,避免了对一些已经处理过的日志信息进行再处理的情况发生,从而提高了处理性能和处理效率。
其中,Flag字段为枚举值,其属性值可以为“0”和“1”,若Flag标识字段的属性值为“1”时,则表示日志信息已经被处理,不再重复处理;若Flag标识字段的属性值为“0”时,则表示日志信息没有被处理。
在本发明实施例中,通过第一获取模块20获取采集到的日志,以及通过第二获取模块40获取日志级别,并通过存储模块60将一个或多个级别的日志结构化存储在数据库中,解决了现有的日志处理机制处理效率较低的技术问题。此外,根据日志级别字段存储符合要求的日志,避免了对无需处理的日志进行处理,并采用数据库进行存储的方式,减少了数据存储量,解决了现有技术中处理资源浪费的技术问题,实现了对日志的高效处理。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种日志处理方法,其特征在于,包括:
获取采集到的日志;
获取所述日志的级别;
将一个或多个级别的日志结构化存储在数据库中。
2.根据权利要求1所述的方法,其特征在于,所述将一个或多个级别的日志结构化存储在数据库中包括:
从用于记录程序运行出错的一个或多个级别的日志中提取预设字段的属性信息;
将提取到的所述属性信息存储在数据库的报表中,其中,所述报表中记录有所述预设字段与所述属性信息的对应关系。
3.根据权利要求2所述的方法,其特征在于,在将提取到的所述属性信息存储在所述数据库的报表中之后,所述方法还包括:
通过关键字查询存储在所述数据库的报表中的日志,得到查询到的日志;
根据所述预设字段中的标识字段判断所述查询到的日志中是否存在未进行纠错处理的日志;
在判断为是时,远程调用纠错程序对所述未进行纠错处理的日志进行纠错处理。
4.根据权利要求3所述的方法,其特征在于,在远程调用纠错程序对所述未进行纠错处理的日志进行纠错处理之后,所述方法还包括:
修改经过所述纠错处理后的日志的标识字段。
5.一种日志处理装置,其特征在于,包括:
第一获取模块,用于获取采集到的日志;
第二获取模块,用于获取所述日志的级别;
存储模块,用于将一个或多个级别的日志结构化存储在数据库中。
6.根据权利要求5所述的装置,其特征在于,所述存储模块包括:
提取子模块,用于从用于记录程序运行出错的一个或多个级别的日志中提取预设字段的属性信息;
存储子模块,用于将提取到的所述属性信息存储在数据库的报表中,其中,所述报表中记录有所述预设字段与所述属性信息的对应关系。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
查询模块,用于通过关键字查询存储在所述数据库的报表中的日志,得到查询到的日志;
判断模块,用于根据所述预设字段中的标识字段判断所述查询到的日志中是否存在未进行纠错处理的日志;
纠错模块,用于在判断模块判断为是时,远程调用纠错程序对所述未进行纠错处理的日志进行纠错处理。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
字段修改模块,用于在纠错模块远程调用纠错程序对所述未进行纠错处理的日志进行纠错处理之后,修改经过所述纠错处理后的日志的标识字段。
CN201510556008.0A 2015-09-01 2015-09-01 日志处理方法和装置 Pending CN106484742A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510556008.0A CN106484742A (zh) 2015-09-01 2015-09-01 日志处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510556008.0A CN106484742A (zh) 2015-09-01 2015-09-01 日志处理方法和装置

Publications (1)

Publication Number Publication Date
CN106484742A true CN106484742A (zh) 2017-03-08

Family

ID=58238255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510556008.0A Pending CN106484742A (zh) 2015-09-01 2015-09-01 日志处理方法和装置

Country Status (1)

Country Link
CN (1) CN106484742A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729172A (zh) * 2017-10-31 2018-02-23 北京酷我科技有限公司 一种生成分级调试日志的方法
CN107835503A (zh) * 2017-10-26 2018-03-23 四川长虹电器股份有限公司 一种实现麦克风语音中继的方法
CN109492003A (zh) * 2018-10-22 2019-03-19 平安医疗健康管理股份有限公司 访问信息的处理方法和装置、以及计算机设备和存储介质
CN109992476A (zh) * 2019-03-20 2019-07-09 网宿科技股份有限公司 一种日志的分析方法、服务器及存储介质
CN112286896A (zh) * 2020-11-19 2021-01-29 北京百家科技集团有限公司 一种日志文件处理方法、装置、计算机设备和存储介质
CN112749223A (zh) * 2021-01-28 2021-05-04 道和云科技(天津)有限公司 一种接口日志配置化、结构化存储方法及系统
CN113220522A (zh) * 2021-04-09 2021-08-06 北京房江湖科技有限公司 服务异常自动定位方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567499A (zh) * 2011-12-26 2012-07-11 苏州风采信息技术有限公司 日志查询的安全管理方法
CN102902764A (zh) * 2012-09-25 2013-01-30 北京奇虎科技有限公司 一种日志记录的方法和装置
CN103927338A (zh) * 2014-03-26 2014-07-16 网神信息技术(北京)股份有限公司 日志信息入库处理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567499A (zh) * 2011-12-26 2012-07-11 苏州风采信息技术有限公司 日志查询的安全管理方法
CN102902764A (zh) * 2012-09-25 2013-01-30 北京奇虎科技有限公司 一种日志记录的方法和装置
CN103927338A (zh) * 2014-03-26 2014-07-16 网神信息技术(北京)股份有限公司 日志信息入库处理方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107835503A (zh) * 2017-10-26 2018-03-23 四川长虹电器股份有限公司 一种实现麦克风语音中继的方法
CN107729172A (zh) * 2017-10-31 2018-02-23 北京酷我科技有限公司 一种生成分级调试日志的方法
CN109492003A (zh) * 2018-10-22 2019-03-19 平安医疗健康管理股份有限公司 访问信息的处理方法和装置、以及计算机设备和存储介质
CN109992476A (zh) * 2019-03-20 2019-07-09 网宿科技股份有限公司 一种日志的分析方法、服务器及存储介质
CN109992476B (zh) * 2019-03-20 2023-08-18 网宿科技股份有限公司 一种日志的分析方法、服务器及存储介质
CN112286896A (zh) * 2020-11-19 2021-01-29 北京百家科技集团有限公司 一种日志文件处理方法、装置、计算机设备和存储介质
CN112286896B (zh) * 2020-11-19 2024-02-06 北京百家科技集团有限公司 一种日志文件处理方法、装置、计算机设备和存储介质
CN112749223A (zh) * 2021-01-28 2021-05-04 道和云科技(天津)有限公司 一种接口日志配置化、结构化存储方法及系统
CN113220522A (zh) * 2021-04-09 2021-08-06 北京房江湖科技有限公司 服务异常自动定位方法和装置

Similar Documents

Publication Publication Date Title
CN106484742A (zh) 日志处理方法和装置
US11599400B2 (en) Segmenting machine data into events based on source signatures
CN101192227B (zh) 一种基于分布式计算网络的日志文件分析方法和系统
CN105893225A (zh) 一种错误自动处理方法及装置
CN1791022A (zh) 一种日志分析方法和系统
CN106547793A (zh) 获取代理服务器地址的方法和装置
CN103823852B (zh) 数据库服务器日志的处理方法和装置
CN107704494B (zh) 一种基于应用软件的用户信息收集方法和系统
CN101576933A (zh) 基于标题分隔符的全自动web页面分组法
CN104199850A (zh) 基础数据的处理方法和装置
CN112860899B (zh) 标签生成方法、装置、计算机设备和计算机可读存储介质
CN106372071B (zh) 数据仓库的信息获取方法和装置
CN106547913B (zh) 页面信息的收集分类反馈方法、装置及系统
CN104077399A (zh) 网络商品侵权监测系统及方法
CN113485886B (zh) 告警日志的处理方法和装置、存储介质及电子装置
CN105912736A (zh) 一种统一资源定位符url分类方法及装置
CN114240497A (zh) 电子商务信息收集及汇总的方法及系统
CN112148457A (zh) 一种基于移动云环境下多功能任务分割方法
CN112667574A (zh) 海量日志数据筛选方法及系统
CN108062327A (zh) 客户端的匹配方法和装置
CN106599141A (zh) 一种数据处理方法及服务器
CN106651079A (zh) 整合装置及其整合方法
CN106709005A (zh) 一种处理数据库系统中的冗余索引的方法、装置和系统

Legal Events

Date Code Title Description
C06 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: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170308