CN112564959A - 一种日志采集方法、装置、设备及可读存储介质 - Google Patents
一种日志采集方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112564959A CN112564959A CN202011383759.4A CN202011383759A CN112564959A CN 112564959 A CN112564959 A CN 112564959A CN 202011383759 A CN202011383759 A CN 202011383759A CN 112564959 A CN112564959 A CN 112564959A
- Authority
- CN
- China
- Prior art keywords
- log
- data
- format
- file
- type
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种日志采集方法及相关装置、设备、可读存储介质,将获取到的日志数据转换为日志对象,并获取填充文件,因为日志对象包括***运行过程中产生的日志数据,填充文件包括待写入的静态数据,又因为,日志对象和所述填充文件的格式相同,且填充文件在日志采集工具启动时,通过对预先配置的静态日志采集生成,所以,通过将日志对象和填充文件合并得到的输出文件中,既包括日志数据也包括静态数据,因此,基于输出文件,输出的日志填充了静态数据。综上,本方法能够实现在采集***运行过程中的日志数据的同时,将不包括在日志数据中的内容即静态数据填充至日志中,达到输出包括静态数据的日志的目的。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种日志采集方法、装置、设备及可读存储介质。
背景技术
在企业运行中,存在各种各样的业务***,业务***产生的日志需要做采集分析。具体的,业务***运行产生日志,Flume可以用于日志的采集。采集到的日志用作对业务以及业务***进行分析。
现有的日志采集工具,例如Flume,只能够实现对于日志中的内容的采集,而无法输出不包括在日志内容中数据(简称为静态数据),例如,在存在多个业务***的情况下,需要在日志数据中添加业务***的标识,但现有的日志采集工具无法实现。
发明内容
本申请提供了一种日志采集方法及相关装置、设备、可读存储介质,目的在于输出包括静态数据的日志,如下:
一种日志采集方法,应用于日志采集工具的***,包括:
在获取到日志数据后,将所述日志数据转换为日志对象;
获取填充文件,所述填充文件中存储有待写入的静态数据,所述日志对象的格式与所述填充文件的格式相同;所述填充文件在所述日志采集工具启动时,通过对预先配置的静态日志采集生成;
通过合并所述日志对象和所述填充文件,得到输出文件;
基于所述输出文件,输出日志。
可选地,将所述日志数据转换为日志对象,包括:
从所述日志数据中识别第一类型数据和第二类型数据,所述第一类型数据为多个业务***通用的数据项的数据;所述第二类型数据为非通用的数据项的数据;
将所述第一类型数据转换为所述日志对象;
依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中。
可选地,依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中,包括:
将第一格式的所述第二类型数据,加入所述日志对象;所述第一格式为输出的所述日志的格式;
将第二格式的所述第二类型数据的标识,加入所述日志对象,所述第二格式与所述第一格式不同。
可选地,将第一格式的所述第二类型数据,加入所述日志对象,包括:
将所述第一格式的所述第二类型数据,转换为Map类的第一实例对象;
将所述MsgMap合并到所述日志对象中。
可选地,本方法还包括:
将所述第二格式的所述第二类型数据,以所述标识存储。
可选地,通过对预先配置的静态日志采集生成所述填充文件的过程,包括:
获取预设配置的所述静态数据;
将所述静态数据转换为Map类的第二实例对象。
一种***,包括:
日志转换模块,用于在获取到日志数据后,将所述日志数据转换为日志对象;
填充文件获取模块,用于获取填充文件,所述填充文件中存储有待写入的静态数据,所述日志对象的格式与所述填充文件的格式相同;所述填充文件在所述日志采集工具启动时,通过对预先配置的静态日志采集生成;
文件合并模块,用于通过合并所述日志对象和所述填充文件,得到输出文件;
日志输出模块,用于基于所述输出文件,输出日志。
一种日志采集器,包括:
采集器和权利要求7所述的***;
所述采集器用于采集日志数据;
一种日志采集设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上所述的日志采集方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的日志采集方法的各个步骤。
由上述技术方案可以看出,本申请实施例提供的日志采集方法及相关装置、设备、可读存储介质,将获取到的日志数据转换为日志对象,并获取填充文件,因为日志对象包括***运行过程中产生的日志数据,填充文件包括待写入的静态数据,又因为,日志对象和填充文件的格式相同,且填充文件在日志采集工具启动时,通过对预先配置的静态日志采集生成,所以,通过将日志对象和填充文件合并得到的输出文件中,既包括日志数据也包括静态数据,因此,基于输出文件,输出的日志填充了静态数据。综上,本方法能够实现在采集***运行过程中的日志数据的同时,将不包括在日志数据中的内容即静态数据填充至日志中,达到输出包括静态数据的日志的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种日志采集方法的具体实施方式的流程示意图;
图2为本申请实施例提供的一种生成日志对象的流程示意图;
图3为本申请实施例提供的一种日志采集方法的总流程示意图;
图4为本申请实施例提供的一种***的结构示意图;
图5为本申请实施例提供的一种日志采集装置的结构示意图;
图6为本申请实施例提供的一种日志采集设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请实施例提供的日志采集方法应用于日志采集工具的***,对各种***在运行过程中产生的日志数据进行采集,并输出日志,目的在于实现日志内容的采集,并且输出不包括在日志内容中的数据(简称为静态数据)。需要说明的是,日志采集工具包括但不限于Flume,在Flume中预先配置***,***包括但不限于银行的各业务***。
图1为本申请实施例提供的一种日志采集方法的流程示意图,如图1所示,具体可以包括下述S101~S104。
S101、在获取到日志数据后,将日志数据转换为日志对象。
本实施例中,日志数据为业务***在运行过程中产生的数据,由于业务***的类型多样且数量众多,所以日志数据中包括但不限于通用的数据,例如,多个业务***通用的数据项的数据(简称为第一类型数据),可选地,日志数据中还包括各业务***运行过程中产生的非通用的数据项的数据(简称为第二类型数据,如业务***的使用方自定义的数据)。
本实施例中,将日志数据转换为日志对象的方法为将日志数据中的各项数据转换为Map类的目标实例对象,即LogMap,具体的转换方法参见图2所示的流程。
需要说明的是,获取日志对象的方法可以参见现有技术。
S102、获取填充文件。
本实施例中,填充文件中存储有待写入的静态数据,日志对象的格式与填充文件的格式相同,可选地,日志对象和填充文件中的数据均为Map对象。
本实施例中,填充文件在日志采集工具启动时,通过对预先配置的静态日志采集生成。可选地,通过对预先配置的静态日志采集生成填充文件的过程包括:
A1、获取预先配置的静态数据。
本实施例中,静态数据为预先配置在日志采集工具中的、不包括在日志数据中的数据,例如,静态数据为:host:192.168.1.1,account:testAccount,topic:testTopic。
A2、将静态数据转换为Map类的第二实例对象,得到填充文件。
本实施例中,由于,填充文件的格式与日志对象格式一致,均为Map对象,可选地,将静态数据的格式转换为Map类的第二实例对象,即Common Map。
需要说明的是,A1~A2仅为可选的一种通过对预先配置的静态日志采集生成填充文件的具体实现方法,A1~A2在日志采集工具Flume启动时预先执行,本申请实施例提供的日志采集方法中,还可以包括其它的生成填充文件的方法,本实施例对此不做限定。
S103、通过合并日志对象和填充文件,得到输出文件。
本实施例中,日志对象和填充文件的格式相同,可选地,合并日志对象和填充文件的方法包括:将填充文件中包括的Map类的第二实例对象(CommonMap)中的键值数据合并到日志对象中。由此,将待填充的静态数据填充至日志对象中。
S104、基于输出文件,输出日志。
本实施例中,输出文件中既包括日志对象中的日志数据,也包括填充文件中的静态数据,所以,基于输出文件可以输出已填充静态数据的日志。
需要说明的是,日志对象和填充文件的格式相同,合并得到的输出文件的数据的格式也为Map对象。进一步,将输出文件的格式转换为JSON格式得到待输出的日志,也即,日志中的数据为JSON字符串的形式。例如,将输出文件的Map对象LogMap转成JSON字符串,例如:{“host”:”192.168.1.1”,”account”:”testAccount”,”topic”:”testTopic”,“level”:”INFO”,”thread”:”MAIN”……}。
由上述技术方案可以看出,本申请实施例提供的日志采集方法,应用于日志采集工具的***,将获取到的日志数据转换为日志对象,并获取填充文件,因为日志对象包括***运行过程中产生的日志数据,填充文件包括待写入的静态数据,又因为,日志对象和填充文件中的数据的格式相同,且填充文件在日志采集工具启动时,通过对预先配置的静态日志采集生成,所以,通过将日志对象和填充文件合并得到的输出文件中,既包括日志数据也包括静态数据,因此,基于输出文件,输出的日志为填充了静态数据的日志内容。综上,本方法能够实现在采集***运行过程中的日志数据的同时,将不包括在日志数据中的内容即静态数据填充至日志中,并输出的目的。
进一步,将转换格式的输出文件作为日志输出,通过规范输出文件的格式,方便扩展及应用。
进一步,与现有技术相比,在无需对业务***进行代码侵入(定制化代码)的前提下,输出的日志中,包括日志对象中的所有内容以及静态数据,所以,依据输出的日志,可以得到业务***运行产生的日志数据以及预先配置的静态日志。
图2为本申请实施例提供的一种将日志数据转换为日志对象的具体实现方法,具体可以包括:S201~S204,如下:
S201、从日志数据中识别第一类型数据和第二类型数据。
本实施例中,从预设的固定区域和预设的动态区域读取日志数据,需要说明的是,固定区域和动态区域预先配置。
具体地,固定区域的数据包括第一类型数据,第一类型数据为多个业务***通用的数据项的数据,可选地,通用的数据项包括预设的常用字段,例如,时间、日志级别、线程名、行号、所属类等。
动态区域的数据包括第二类型数据,第二类型数据为非通用的数据项的数据,可选地,非通用的数据项包括描述业务信息的日志内容,例如,***启动信息,***关闭信息,以及用户请求信息。日志内容的格式包括但不限于普通字符串,和/或JSON字符串。可选地,二维日志内容为JSON字符串格式,例如,用户的基本信息,账号,用户ID等数据项的数据。
需要说明的是,固定区域和动态区域以预设的第二分隔符(例如分隔符2)区分,可选地,固定区域位于动态区域之前,从日志数据中识别第一类型数据和第二类型数据的方法可以参见现有技术。
S202、将第一类型数据转换为日志对象。
本实施例中,第一类型数据包括多个业务***通用的数据项的数据,以常用字段为例,将常用字段转换为Map对象LogMap,例如,{“level”:”INFO”,”thread”:”MAIN”……},其中,常用字段间使用预设的第一分隔符(例如分隔符1)区分。
具体的将第一类型数据转换为日志对象的方法参见现有技术。
S203、在第二类型数据的格式为第一格式时,将第一格式的第二类型数据,加入日志对象。
本实施例中,第一格式为输出的日志的格式。可选的一种将第一格式的第二类型数据,加入日志对象的方法包括B1~B2,如下:
B1、将第一格式的第二类型数据,转换为Map类的第一实例对象。
由上可知,输出的日志的格式为JSON格式,所以本实施例以第一格式为JSON格式为例,将JSON格式的第二类型数据转换为Map类的第一实例对象,即MsgMap,具体的转换方法可以参见现有技术。
B2、将MsgMap合并到日志对象中。
具体的将MsgMap合并到日志对象的方法可以参见现有技术。
S204、在第二类型数据的格式为第二格式时,将第二格式的第二类型数据的标识,加入日志对象。
本实施例中,第二格式与第一格式不同,也即,第二格式不是JSON格式,例如,第二类型数据包括普通字符串。
日志对象为LogMap,可选的一种将第二格式的第二类型数据的标识,加入LogMap的方法包括:
以Msg为键值,并将键值作为第二类型数据的标识写入到LogMap中。具体的实现方法可以参见现有技术。
需要说明的是,将第二格式的第二类型数据,以标识存储,存储空间预先配置。
进一步需要说明的是,S202为可选的一种将第一类型数据转换为日志对象的方法,S203和S204为依据第二类型数据的格式,将第二类型数据记录在日志对象中的可选的一种方法。综上,本实施例通过将第一类型数据直接转换为日志对象,将第一格式的第二类型数据转换为Map对象并写入日志对象,将第二格式的第二类型数据的标识写入日志对象,实现将固定区域的数据(第一类型数据)和动态区域的数据(即第二类型数据)中的日志数据转换成日志对象,也即,日志对象中不仅包括通用的数据项的数据,也包括非通用的数据项的数据的标识,因此可以得到全部日志数据。
从上述技术方案可以看出,本申请实施例提供的一种日志采集方法及相关装置、设备、可读存储介质,目的在于生成并输出日志,日志中包括***运行过程中产生的日志数据,以及静态数据,解决现有技术的技术问题。
具体地,在企业运行中,存在各种各样的业务***,业务***产生的日志需要做采集分析应用。不同***输出的日志数据各有差异,并且不同业务***需要的固定填充的数据项也不一样。在使用现有的日志采集工具Flume做采集时,已有的***组件(静态***,Static Interceptor)并不能方便的支持日志数据扩展,遇到业务***需要扩展日志数据时,则需要做定制化开发,成本较高。故需要一个Flume***插件,兼容业务日志数据的扩展,并且支持静态数据的填充。
Gildata Interceptor***,约定业务***输出内容格式(约定的格式简单,可以通过配置实现,对业务***无代码侵入)分为固定区域和扩展区域(也即上述实施例中的动态区域),扩展区域使用普通内容或者JSON格式,当扩展区域使用JSON格式时,业务***可以自行扩展里面的数据项。日志数据按行读取,固定区域和扩展区域合并到一个JSON对象中,并将配置的静态数据按照K/V填充进去,然后输出给下游。
综上,现有技术中日志采集工具中的静态***(Static Interceptor)的缺点包括:
1.不支持静态数据填充到日志内容中。
2.不支持批量填充静态数据到日志内容中。
2.业务***扩展输出内容时,需要做定制化开发。
3.没有规范输出的数据格式,不方便下游使用采集到的日志数据。
本发明提供的应用于日志采集工具中的***GildataInterceptor的日志采集方法的目的包括:
1.支持静态数据填充到日志内容中。
2.支持批量填充静态数据到日志内容中。
3.支持业务***灵活输出内容,兼容业务***自行扩展日志信息。
4.规范输出的数据格式,方便下游使用采集到的日志数据。
表1示例了日志采集工具Flume的基本组件功能,如下:
表1
如表1所示,日志采集工具Flume基于表1所示的结构,处理日志的流程包括:通过Source采集日志,通过Interceptor处理日志,把处理后的日志写入Channel中,最后通过Sink对外输出处理后的日志。
本申请实施例提供的方案主要是针对Interceptor进行了重新实现,GildataInterceptor即重新实现后的***,Gildata Interceptor支持丰富的静态数据填充,能更好的适应不同的场景需求。
Gildata Interceptor中自定义实现部分功能说明如表2所示。
表2
本方案中的日志采集方法的实现过程如图3所示,具体可以包括下述步骤:
步骤1:在Flume配置中配置Gildata Interceptor***。
步骤2:在Flume配置中配置需要填充的静态数据Properties,例如host:192.168.1.1,account:testAccount,topic:testTopic。
步骤3:在Flume配置中配置其它基础配置(日志源,Channel、输出等)。
步骤4:启动Flume时,预处理需要填充的静态数据Properties,生成CommonMap,缓存到JVM内存中。
步骤5:Source采集到日志,通过Gildata Interceptor处理日志。
步骤6:基于使用分隔符2分隔的固定区域和动态区域,取得固定区域的日志数据和动态区域的日志数据。
步骤7:基于使用分隔符1分隔固定区域的日志数据,生成Map对象LogMap,例如{“level”:”INFO”,”thread”:”MAIN”……}。
步骤8:处理动态区域的日志数据,判断是否是JSON格式。
步骤9:若动态区域的日志数据不是JSON格式,以msg为键写入LogMap中。
步骤10:若动态区域的日志数据是JSON格式,把动态区域的日志数据转成Map对象MsgMap,并合并到LogMap中。
步骤11:填充静态数据,合并步骤4所生成的CommonMap对象中的键值数据到LogMap中。
步骤12:Map对象LogMap转成JSON字符串,例如:{“host”:”192.168.1.1”,”account”:”testAccount”,”topic”:”testTopic”,“level”:”INFO”,”thread”:”MAIN”……}。
步骤13:将步骤12生成的JSON字符串写入到Channel中,并通过Sink向外传输。
由上述技术方案可以看出,与现有技术相比,本申请实施例提供的日志采集方法至少能够实现下述有益效果:
1.业务***输出的日志格式约定为固定区域+动态区域,固定区域为日志数据中常见字段,比如日志级别level,时间等,动态区域是日志内容,可以为一维的普通字符串,也可以为二维的JSON格式字符串。
2.业务***输出的日志数据的格式通过log4j、logback等配置即可实现,对业务***无代码侵入,业务***扩展输出内容静默解析,无需定制化。
3.支持键值对静态数据填充到业务***输出的日志数据中。
4.支持多组键值对静态数据填充到业务***输出的日志数据中。
5.输出格式采用JSON格式,支持二维,方便静态数据填充到输出内容中,由此,规范了输出格式,方便扩展及应用。
本申请实施例提供的日志采集方法应用于日志采集工具的***,图4为本申请实施例提供的一种可选的***的结构示意图,如图4所示,***具体包括:
日志转换模块401,用于在获取到日志数据后,将日志数据转换为日志对象;
填充文件获取模块402,用于获取填充文件,填充文件中存储有待写入的静态数据,日志对象的格式与填充文件的格式相同;填充文件在日志采集工具启动时,通过对预先配置的静态日志采集生成;
文件合并模块403,用于通过合并日志对象和填充文件,得到输出文件;
日志输出模块404,用于基于输出文件,输出日志。
可选地,日志转换模块用于将日志数据转换为日志对象,包括:日志转换模块具体用于:
从日志数据中识别第一类型数据和第二类型数据,第一类型数据为多个业务***通用的数据项的数据;第二类型数据为非通用的数据项的数据;
将第一类型数据转换为日志对象;
依据第二类型数据的格式,将第二类型数据记录在日志对象中。
可选地,日志转换模块用于依据第二类型数据的格式,将第二类型数据记录在日志对象中,包括:日志转换模块具体用于:
将第一格式的第二类型数据,加入日志对象;第一格式为输出的日志的格式;
将第二格式的第二类型数据的标识,加入日志对象,第二格式与第一格式不同。
可选地,日志转换模块用于将第一格式的第二类型数据,加入日志对象,包括:日志转换模块具体用于:
将第一格式的第二类型数据,转换为Map类的第一实例对象;
将MsgMap合并到日志对象中。
可选地,***还包括:数据存储模块,用于将第二格式的第二类型数据,以标识存储。
可选地,***还包括:填充文件生成模块:用于通过对预先配置的静态日志采集生成填充文件,包括:填充文件生成模块具体用于:
获取预设配置的静态数据;
将静态数据转换为Map类的第二实例对象。
需要说明的是,***中的各模块的具体功能实现可以参见上述图1或图2所示的流程。
图5为本申请实施例提供给的可选的一种日志采集工具(即日志采集器)的结构示意图,如图5所示,其中,日志采集器包括:采集器(图5中以Source表示)、***(图5中以Gildata Interceptor表示)、缓存器(图5中以Channel表示)、输出模块(图5中以Sink表示)。
本实施例中,采集器用于采集日志数据,并将日志数据发送至***进行处理。***用于依据获取的日志数据以及填充文件中的待写入的静态数据(图5中以Properties表示),生成并输出日志,缓存器用于将***输出的日志写入缓存。输出模块用于将缓存器中的日志输出。
需要说明的是,图5所示的日志采集器的结构仅为可选的一种结构,本申请实施例还可以包括具有其它可选结构的日志采集工具。
图6示出了该日志采集设备的结构示意图,该设备可以包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604;
在本申请实施例中,处理器601、通信接口602、存储器603、通信总线604的数量为至少一个,且处理器601、通信接口602、存储器603通过通信总线604完成相互间的通信;
处理器601可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器603可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可执行存储器存储的程序,实现本申请实施例提供的一种日志采集方法的各个步骤,如下:
一种日志采集方法,应用于日志采集工具的***,包括:
在获取到日志数据后,将所述日志数据转换为日志对象;
获取填充文件,所述填充文件中存储有待写入的静态数据,所述日志对象的格式与所述填充文件的格式相同;所述填充文件在所述日志采集工具启动时,通过对预先配置的静态日志采集生成;
通过合并所述日志对象和所述填充文件,得到输出文件;
基于所述输出文件,输出日志。
可选地,将所述日志数据转换为日志对象,包括:
从所述日志数据中识别第一类型数据和第二类型数据,所述第一类型数据为多个业务***通用的数据项的数据;所述第二类型数据为非通用的数据项的数据;
将所述第一类型数据转换为所述日志对象;
依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中。
可选地,依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中,包括:
将第一格式的所述第二类型数据,加入所述日志对象;所述第一格式为输出的所述日志的格式;
将第二格式的所述第二类型数据的标识,加入所述日志对象,所述第二格式与所述第一格式不同。
可选地,将第一格式的所述第二类型数据,加入所述日志对象,包括:
将所述第一格式的所述第二类型数据,转换为Map类的第一实例对象;
将所述MsgMap合并到所述日志对象中。
可选地,本方法还包括:
将所述第二格式的所述第二类型数据,以所述标识存储。
可选地,通过对预先配置的静态日志采集生成所述填充文件的过程,包括:
获取预设配置的所述静态数据;
将所述静态数据转换为Map类的第二实例对象。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的计算机程序,计算机程序被处理器执行时,实现本申请实施例提供的一种日志采集方法的各个步骤,如下:
一种日志采集方法,应用于日志采集工具的***,包括:
在获取到日志数据后,将所述日志数据转换为日志对象;
获取填充文件,所述填充文件中存储有待写入的静态数据,所述日志对象的格式与所述填充文件的格式相同;所述填充文件在所述日志采集工具启动时,通过对预先配置的静态日志采集生成;
通过合并所述日志对象和所述填充文件,得到输出文件;
基于所述输出文件,输出日志。
可选地,将所述日志数据转换为日志对象,包括:
从所述日志数据中识别第一类型数据和第二类型数据,所述第一类型数据为多个业务***通用的数据项的数据;所述第二类型数据为非通用的数据项的数据;
将所述第一类型数据转换为所述日志对象;
依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中。
可选地,依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中,包括:
将第一格式的所述第二类型数据,加入所述日志对象;所述第一格式为输出的所述日志的格式;
将第二格式的所述第二类型数据的标识,加入所述日志对象,所述第二格式与所述第一格式不同。
可选地,将第一格式的所述第二类型数据,加入所述日志对象,包括:
将所述第一格式的所述第二类型数据,转换为Map类的第一实例对象;
将所述MsgMap合并到所述日志对象中。
可选地,本方法还包括:
将所述第二格式的所述第二类型数据,以所述标识存储。
可选地,通过对预先配置的静态日志采集生成所述填充文件的过程,包括:
获取预设配置的所述静态数据;
将所述静态数据转换为Map类的第二实例对象。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种日志采集方法,其特征在于,应用于日志采集工具的***,包括:
在获取到日志数据后,将所述日志数据转换为日志对象;
获取填充文件,所述填充文件中存储有待写入的静态数据,所述日志对象的格式与所述填充文件的格式相同;所述填充文件在日志采集工具启动时,通过对预先配置的静态日志采集生成;
通过合并所述日志对象和所述填充文件,得到输出文件;
基于所述输出文件,输出日志。
2.根据权利要求1所述的方法,其特征在于,所述将所述日志数据转换为日志对象,包括:
从所述日志数据中识别第一类型数据和第二类型数据,所述第一类型数据为多个业务***通用的数据项的数据;所述第二类型数据为非通用的数据项的数据;
将所述第一类型数据转换为所述日志对象;
依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中。
3.根据权利要求2所述的方法,其特征在于,所述依据所述第二类型数据的格式,将所述第二类型数据记录在所述日志对象中,包括:
将第一格式的所述第二类型数据,加入所述日志对象;所述第一格式为输出的所述日志的格式;
将第二格式的所述第二类型数据的标识,加入所述日志对象,所述第二格式与所述第一格式不同。
4.根据权利要求3所述的方法,其特征在于,所述将第一格式的所述第二类型数据,加入所述日志对象,包括:
将所述第一格式的所述第二类型数据,转换为Map类的第一实例对象;
将所述第一实例对象合并到所述日志对象中。
5.根据权利要求3所述的方法,其特征在于,还包括:
将所述第二格式的所述第二类型数据,以所述标识存储。
6.根据权利要求1-5任一项所述的方法,其特征在于,通过对预先配置的静态日志采集生成所述填充文件的过程,包括:
获取预设配置的所述静态数据;
将所述静态数据转换为Map类的第二实例对象。
7.一种***,其特征在于,包括:
日志转换模块,用于在获取到日志数据后,将所述日志数据转换为日志对象;
填充文件获取模块,用于获取填充文件,所述填充文件中存储有待写入的静态数据,所述日志对象的格式与所述填充文件的格式相同;所述填充文件在所述日志采集工具启动时,通过对预先配置的静态日志采集生成;
文件合并模块,用于通过合并所述日志对象和所述填充文件,得到输出文件;
日志输出模块,用于基于所述输出文件,输出日志。
8.一种日志采集器,其特征在于,包括:
采集器和权利要求7所述的***;
所述采集器用于采集日志数据。
9.一种日志采集设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~6中任一项所述的日志采集方法的各个步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~6中任一项所述的日志采集方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383759.4A CN112564959A (zh) | 2020-12-01 | 2020-12-01 | 一种日志采集方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383759.4A CN112564959A (zh) | 2020-12-01 | 2020-12-01 | 一种日志采集方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112564959A true CN112564959A (zh) | 2021-03-26 |
Family
ID=75045903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011383759.4A Pending CN112564959A (zh) | 2020-12-01 | 2020-12-01 | 一种日志采集方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112564959A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701122A (zh) * | 2014-11-28 | 2016-06-22 | 深圳市腾讯计算机***有限公司 | 一种日志收集方法、装置及*** |
CN107347062A (zh) * | 2017-06-19 | 2017-11-14 | 北京开数科技有限公司 | 一种日志数据处理的方法、电子设备和可读存储介质 |
CN107959587A (zh) * | 2017-11-23 | 2018-04-24 | 上海斐讯数据通信技术有限公司 | 基于海量文件的处理结果日志合并装置及方法 |
CN109101644A (zh) * | 2018-08-21 | 2018-12-28 | 上海新炬网络信息技术股份有限公司 | 一种动静态日志文件扫描采集方法 |
WO2019136812A1 (zh) * | 2018-01-10 | 2019-07-18 | 平安科技(深圳)有限公司 | 电子装置、数据调用日志生成及查询方法及存储介质 |
CN111475390A (zh) * | 2020-04-01 | 2020-07-31 | 深圳Tcl数字技术有限公司 | 日志采集***部署方法、装置、设备及存储介质 |
CN111897789A (zh) * | 2020-07-15 | 2020-11-06 | 中国民航信息网络股份有限公司 | 一种日志生成方法及装置 |
-
2020
- 2020-12-01 CN CN202011383759.4A patent/CN112564959A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701122A (zh) * | 2014-11-28 | 2016-06-22 | 深圳市腾讯计算机***有限公司 | 一种日志收集方法、装置及*** |
CN107347062A (zh) * | 2017-06-19 | 2017-11-14 | 北京开数科技有限公司 | 一种日志数据处理的方法、电子设备和可读存储介质 |
CN107959587A (zh) * | 2017-11-23 | 2018-04-24 | 上海斐讯数据通信技术有限公司 | 基于海量文件的处理结果日志合并装置及方法 |
WO2019136812A1 (zh) * | 2018-01-10 | 2019-07-18 | 平安科技(深圳)有限公司 | 电子装置、数据调用日志生成及查询方法及存储介质 |
CN109101644A (zh) * | 2018-08-21 | 2018-12-28 | 上海新炬网络信息技术股份有限公司 | 一种动静态日志文件扫描采集方法 |
CN111475390A (zh) * | 2020-04-01 | 2020-07-31 | 深圳Tcl数字技术有限公司 | 日志采集***部署方法、装置、设备及存储介质 |
CN111897789A (zh) * | 2020-07-15 | 2020-11-06 | 中国民航信息网络股份有限公司 | 一种日志生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5661104B2 (ja) | 検索エンジンインデクシング及びインデックスを使用する検索のための方法とシステム | |
US7536445B2 (en) | Enabling a web-crawling robot to collect information from web sites that tailor information content to the capabilities of accessing devices | |
CN102426609B (zh) | 一种基于MapReduce编程架构的索引生成方法和装置 | |
CN100596353C (zh) | 提供日志服务的方法及*** | |
CN110928851B (zh) | 处理日志信息的方法、装置、设备及存储介质 | |
CN101710282B (zh) | 实现***支持多语言资源的方法及装置 | |
CN113687974B (zh) | 客户端日志处理方法、装置及计算机设备 | |
CN103942344A (zh) | 一种预览文件的方法及文件处理*** | |
US20060047693A1 (en) | Apparatus for and method of generating data extraction definition information | |
CN111651525A (zh) | 区块链数据存储方法和装置 | |
JP4894253B2 (ja) | メタデータ生成装置およびメタデータ生成方法 | |
CN112564959A (zh) | 一种日志采集方法、装置、设备及可读存储介质 | |
CN111309677A (zh) | 一种分布式文件***的文件管理方法及装置 | |
CN115329168A (zh) | 基于Java的档案原文与档案条目的批量挂接方法 | |
CN111045983B (zh) | 核电站电子文件管理方法、装置、终端设备及介质 | |
JP6273969B2 (ja) | データ加工装置、情報処理装置、方法、およびプログラム | |
CN111352917B (zh) | 信息录入方法、装置、电子设备及存储介质 | |
CN105745639A (zh) | 可移动储存器数据散列 | |
CN112347066B (zh) | 日志处理方法、装置及服务器和计算机可读存储介质 | |
CN110740046B (zh) | 分析服务契约的方法和装置 | |
CN111897778A (zh) | 一种计算机文件合并方法、装置及*** | |
CN113553329B (zh) | 数据集成***和方法 | |
CN112749061B (zh) | 一种日志记录方法和*** | |
CN116028444B (zh) | 文件指纹生成方法、装置、***、电子设备及存储介质 | |
KR102466717B1 (ko) | 문서의 포맷을 변환하는 포맷 변환 엔진이 탑재되어 있는 문서 변환 서버들에 대해, 문서의 포맷 변환을 위한 작업 할당을 수행하는 문서 변환 작업 할당 스케줄링 장치 및 그 동작 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210326 |
|
RJ01 | Rejection of invention patent application after publication |