CN115630035A - 日志采集方法及相关装置 - Google Patents
日志采集方法及相关装置 Download PDFInfo
- Publication number
- CN115630035A CN115630035A CN202211316318.1A CN202211316318A CN115630035A CN 115630035 A CN115630035 A CN 115630035A CN 202211316318 A CN202211316318 A CN 202211316318A CN 115630035 A CN115630035 A CN 115630035A
- Authority
- CN
- China
- Prior art keywords
- log
- log file
- file
- parameters
- writing
- 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
-
- 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
-
- 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/172—Caching, prefetching or hoarding of files
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
技术领域
本发明涉及数据传输领域,特别涉及一种日志采集方法及相关装置。
背景技术
基于用户在使用线上App的过程中,存在的各种崩溃、体验等异常问题时。用户在使用在线反馈的功能时,无法准确描述异常或者在没有埋点支撑的情况下,技术人员无法依据有用信息深入查找异常发生的原因,导致对于大部分异常的定位难度较大。因此,如何准确采集与异常点相关的信息成为了本领域人员亟需解决的问题。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种日志采集方法及相关装置。
第一方面,一种日志采集方法,包括:
当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件;
若存在所述日志文件,则采集与所述事件行为对应的日志记录点的日志信息,其中,所述日志信息包括通用日志参数、自定义参数和全局配置参数中的至少一个;
将采集到的所述日志信息写入至所述日志文件。
结合第一方面,在某些可选的实施方式中,在所述当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件之后,所述方法还包括:
若未存在所述日志文件,则确定当前存储的日志文件的数量是否小于预设数量阈值;
若所述当前存储的日志文件的数量不小于所述预设数量阈值,则将日志文件命名里的日期最早的日志文件进行删除,并根据当前日期生成新的日志文件。
结合上一个实施方式,在某些可选的实施方式中,在所述若未存在所述日志文件,则确定当前存储的日志文件的数量是否小于预设数量阈值之后,所述方法还包括:
若所述当前存储的日志文件的数量小于所述预设数量阈值,则根据当前日期直接生成新的日志文件。
可选的,在某些可选的实施方式中,在生成所述新的日志文件之后,所述方法还包括:
根据预先设置的缓存策略,配置所述新的日志文件的日志存储格式、日志存储规则和日志存储方式。
结合上一个实施方式,在某些可选的实施方式中,所述将采集到的所述日志信息写入至所述日志文件,包括:
将采集到的所述日志信息写入至所述新的日志文件。
结合第一方面,在某些可选的实施方式中,在所述将采集到的所述日志信息写入至所述日志文件之后,所述方法还包括:
当所述日志文件所记录的日志信息大于预设缓存阈值时,将所述日志文件打包压缩后上传至后台服务器。
结合第一方面,在某些可选的实施方式中,在所述将采集到的所述日志信息写入至所述日志文件之后,所述方法还包括:
当接收到意见反馈指令时,将所述日志文件打包压缩后上传至后台服务器。
第二方面,一种日志采集装置,包括:文件检查单元、参数采集单元和参数写入单元;
所述文件检查单元,用于当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件;
所述参数采集单元,用于若存在所述日志文件,则采集与所述事件行为对应的日志记录点的日志信息,其中,所述日志信息包括通用日志参数、自定义参数和全局配置参数中的至少一个;
所述参数写入单元,用于将采集到的所述日志信息写入至所述日志文件。
第三方面,一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的日志采集方法。
第四方面,一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的日志采集方法。
借由上述技术方案,本发明提供的一种日志采集方法及相关装置,可以通过当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件;若存在所述日志文件,则采集与所述事件行为对应的日志记录点的日志信息,其中,所述日志信息包括通用日志参数、自定义参数和全局配置参数中的至少一个;将采集到的所述日志信息写入至所述日志文件。由此可以看出,本发明可以在发生事件行为后,准确采集事件行为对应的参数,并写入到日志文件,参数采集比较及时和全面。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的一种日志采集方法的流程图;
图2示出了本发明提供的一种日志采集装置的结构示意图;
图3示出了本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本发明提供了一种日志采集方法,包括:S100、S200和300;
S100、当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件;
可选的,本发明所说的事件行为可以是用户在应用进行操作的一些行为,例如用户在页面上点击了一个按钮。当检测到用户单击该按钮的行为后,本发明的执行主体可以检查当前是否存在以当前日期命名的日志文件。需要说明的是:针对同一个应用而言,一般一天对应一个日志文件,该日志文件中可以记录相应应用一整天的各个日志记录点的日志信息。日志文件的命名里可以携带有相应的日期,以表征是不同日期的日志文件,本发明对此不做限制。
可选的,若当前未存在以当前日期命名的日志文件,则说明当前已经生成当天的日志文件,无需再生成,直接在该日志文件内写入日志信息即可。
S200、若存在所述日志文件,则采集与所述事件行为对应的日志记录点的日志信息,其中,所述日志信息包括通用日志参数、自定义参数和全局配置参数中的至少一个;
可选的,本发明对于采集的通用日志参数、自定义参数和全局配置参数不做具体限制。例如,通用日志参数可以包括网络状态、设备型号和应用App版本号等参数,针对不同参数可以通过不同的方式进行采取。例如,针对网络状态、设备型号和App版本号等都可以通过调用系统的公共API获取得到。
又例如,为了方便业务区分归纳汇总,可以按照类型用途分类自定义参数。自定义参数可以包括事件名称(比如点击事件、页面浏览事件、网络异常时间和网络请求事件等)。
又例如,全局配置参数可以包括日志文件保存个数和是否自动上传等参数。针对日志文件保存个数,该机制在App启动时自动向后台请求服务来设置文件保存个数,如果没有拿到后台给的文件保存个数,则默认设置文件保存个数为3;针对是否自动上传的配置过程与文件保存个数的配置过程类似。
可选的,本发明可以设置相应的功能模块,例如设置日志规则模块,通过日志规则模块定义需要采集的上述通用日志参数、自定义参数和全局配置参数。当然,本发明还可以通过日志规则模块定义本发明对外提供服务的接口,本发明对此不做限制。
S300、将采集到的所述日志信息写入至所述日志文件。
可选的,针对任一记录点的任一事件行为,本发明可以将对应采集到的日志信息作为一条日志记录,写入到日志文件中。例如,在日志文件的末尾换行后写入相应的日志记录,本发明对此不做限制。
可选的,上述描述的是当前存在以当前日期命名的日志文件的方案,接下来描述当前未存在以当前日期命名的日志文件的方案。即,结合图1所示的实施方式,在某些可选的实施方式中,在所述S100之后,所述方法还包括:步骤1.1和步骤1.2;
步骤1.1、若未存在所述日志文件,则确定当前存储的日志文件的数量是否小于预设数量阈值;
可选的,若未存在所述日志文件,则说明当前还未生成当天的日志文件,需要生成相应的日志文件才能写入相应的日志信息。但为了提高本发明的可靠性,需要确定有空间存储日志文件后再生成,即需要确定当前存储的日志文件的数量是否小于预设数量阈值。
可选的,若当前存储的日志文件的数量小于预设数量阈值,则说明有空间存储新生成的日志文件,即可以直接生成。若当前存储的日志文件的数量不小于预设数量阈值,则说明当前没有空间存储新生成的日志文件,需要腾出一定的存储空间后再生成日志文件。
可选的,本发明对于预设数量阈值不做具体限制,可以根据实际需要进行设定。
步骤1.2、若所述当前存储的日志文件的数量不小于所述预设数量阈值,则将日志文件命名里的日期最早的日志文件进行删除,并根据当前日期生成新的日志文件。
可选的,如前所述,日志文件的命名中可以包括当天的日期,因此,本发明可以根据日志文件的名称,将比较早的,也就是日期比较早的日志文件删除,以便于腾出一定的存储空间用以存储新生成的日志文件。当然,本发明对于删除的日志文件的数量不做具体限制,可以根据实际需要设定删除至少一个日志文件。
可选的,结合上一个实施方式,在某些可选的实施方式中,在所述步骤1.1之后,所述方法还包括:步骤2.1;
步骤2.1、若所述当前存储的日志文件的数量小于所述预设数量阈值,则根据当前日期直接生成新的日志文件。
可选的,在生成新的日志文件之后,需要对该日志文件进行写配置。例如,在某些可选的实施方式中,在生成所述新的日志文件之后,所述方法还包括:步骤3.1;
步骤3.1、根据预先设置的缓存策略,配置所述新的日志文件的日志存储格式、日志存储规则和日志存储方式。
可选的,日志存储方式指的是,首先自动把日志信息以JSON的形式记录下来,在存储的时候,首先把日志信息转化为String,再把String存入到以日期命名的.txt格式的文件中。每次都可以把日志信息添加在文件的末尾,并与上一条日志信息换行分割。
可选的,本发明可以设置一个功能模块,例如设置缓存策略模块,通过缓存策略模块针对任一日志记录点的任一日志文件,定义上述日志存储格式、日志存储规则和日志存储方式,本发明对此不做限制。
可选的,在生成新的日志文件之后,本发明可以将当天采集到的日志信息写入新生成的日志文件中。即结合上一个实施方式,在某些可选的实施方式中,所述S300,包括:步骤4.1;
步骤4.1、将采集到的所述日志信息写入至所述新的日志文件。
可选的,在将日志信息写入到日志文件之后,本发明可以根据实际需要将日志文件上传至后台服务器,上传的触发方式可以是主动触发,也可以是被动触发。例如,结合图1所示的实施方式,在某些可选的实施方式中,在所述S300之后,所述方法还包括:步骤5.1;
步骤5.1、当所述日志文件所记录的日志信息大于预设缓存阈值时,将所述日志文件打包压缩后上传至后台服务器。
可选的,上述是被动触发的方式,即,当日志文件中所记录的日志信息大于一定阈值时,才将该日志文件上传至后台服务器。当然,本发明还可以设置当以往还未上传的日志文件的数量大于一定阈值时,才将当前的日志文件和以往还未上传过的日志文件一起打包压缩然后上传至后台服务器,本发明对此不做限制。
又例如,结合图1所示的实施方式,在某些可选的实施方式中,在所述S300之后,所述方法还包括:步骤6.1;
步骤6.1、当接收到意见反馈指令时,将所述日志文件打包压缩后上传至后台服务器。
可选的,上述是主动触发的方式,即,用户在使用意见反馈功能时,会主动触发日志上报。
如图2所示,本发明提供了一种日志采集装置,包括:文件检查单元100、参数采集单元200和参数写入单元300;
所述文件检查单元100,用于当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件;
所述参数采集单元200,用于若存在所述日志文件,则采集与所述事件行为对应的日志记录点的日志信息,其中,所述日志信息包括通用日志参数、自定义参数和全局配置参数中的至少一个;
所述参数写入单元300,用于将采集到的所述日志信息写入至所述日志文件。
结合图2所示的实施方式,在某些可选的实施方式中,所述装置还包括:文件数量确定单元和第一结果单元;
所述文件数量确定单元,用于在所述当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件之后,若未存在所述日志文件,则确定当前存储的日志文件的数量是否小于预设数量阈值;
所述第一结果单元,用于若所述当前存储的日志文件的数量不小于所述预设数量阈值,则将日志文件命名里的日期最早的日志文件进行删除,并根据当前日期生成新的日志文件。
结合上一个实施方式,在某些可选的实施方式中,所述装置还包括:第二结果单元;
所述第二结果单元,用于在所述若未存在所述日志文件,则确定当前存储的日志文件的数量是否小于预设数量阈值之后,若所述当前存储的日志文件的数量小于所述预设数量阈值,则根据当前日期直接生成新的日志文件。
可选的,在某些可选的实施方式中,所述装置还包括:文件配置单元;
所述文件配置单元,用于在生成所述新的日志文件之后,根据预先设置的缓存策略,配置所述新的日志文件的日志存储格式、日志存储规则和日志存储方式。
结合上一个实施方式,在某些可选的实施方式中,所述参数写入单元300,包括:参数写入子单元;
所述参数写入子单元,用于将采集到的所述日志信息写入至所述新的日志文件。
结合图2所示的实施方式,在某些可选的实施方式中,所述装置还包括:被动上传单元;
所述被动上传单元,用于在所述将采集到的所述日志信息写入至所述日志文件之后,当所述日志文件所记录的日志信息大于预设缓存阈值时,将所述日志文件打包压缩后上传至后台服务器。
结合图2所示的实施方式,在某些可选的实施方式中,所述装置还包括:主动上传单元;
所述主动上传单元,用于在所述将采集到的所述日志信息写入至所述日志文件之后,当接收到意见反馈指令时,将所述日志文件打包压缩后上传至后台服务器。
本发明提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的日志采集方法。
如图3所示,本发明提供了一种电子设备70,所述电子设备70包括至少一个处理器701、以及与所述处理器701连接的至少一个存储器702、总线703;其中,所述处理器701、所述存储器702通过所述总线703完成相互间的通信;所述处理器701用于调用所述存储器702中的程序指令,以执行上述任一项所述的日志采集方法。
在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本发明中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本发明所示的这些实施例,而是要符合与本发明所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种日志采集方法,其特征在于,包括:
当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件;
若存在所述日志文件,则采集与所述事件行为对应的日志记录点的日志信息,其中,所述日志信息包括通用日志参数、自定义参数和全局配置参数中的至少一个;
将采集到的所述日志信息写入至所述日志文件。
2.根据权利要求1所述的方法,其特征在于,在所述当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件之后,所述方法还包括:
若未存在所述日志文件,则确定当前存储的日志文件的数量是否小于预设数量阈值;
若所述当前存储的日志文件的数量不小于所述预设数量阈值,则将日志文件命名里的日期最早的日志文件进行删除,并根据当前日期生成新的日志文件。
3.根据权利要求2所述的方法,其特征在于,在所述若未存在所述日志文件,则确定当前存储的日志文件的数量是否小于预设数量阈值之后,所述方法还包括:
若所述当前存储的日志文件的数量小于所述预设数量阈值,则根据当前日期直接生成新的日志文件。
4.根据权利要求2或者3所述的方法,其特征在于,在生成所述新的日志文件之后,所述方法还包括:
根据预先设置的缓存策略,配置所述新的日志文件的日志存储格式、日志存储规则和日志存储方式。
5.根据权利要求4所述的方法,其特征在于,所述将采集到的所述日志信息写入至所述日志文件,包括:
将采集到的所述日志信息写入至所述新的日志文件。
6.根据权利要求1所述的方法,其特征在于,在所述将采集到的所述日志信息写入至所述日志文件之后,所述方法还包括:
当所述日志文件所记录的日志信息大于预设缓存阈值时,将所述日志文件打包压缩后上传至后台服务器。
7.根据权利要求1所述的方法,其特征在于,在所述将采集到的所述日志信息写入至所述日志文件之后,所述方法还包括:
当接收到意见反馈指令时,将所述日志文件打包压缩后上传至后台服务器。
8.一种日志采集装置,其特征在于,包括:文件检查单元、参数采集单元和参数写入单元;
所述文件检查单元,用于当检测到针对应用的事件行为后,检查当前是否存在以当前日期命名的日志文件;
所述参数采集单元,用于若存在所述日志文件,则采集与所述事件行为对应的日志记录点的日志信息,其中,所述日志信息包括通用日志参数、自定义参数和全局配置参数中的至少一个;
所述参数写入单元,用于将采集到的所述日志信息写入至所述日志文件。
9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的日志采集方法。
10.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至7中任一项所述的日志采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211316318.1A CN115630035A (zh) | 2022-10-26 | 2022-10-26 | 日志采集方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211316318.1A CN115630035A (zh) | 2022-10-26 | 2022-10-26 | 日志采集方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115630035A true CN115630035A (zh) | 2023-01-20 |
Family
ID=84906007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211316318.1A Pending CN115630035A (zh) | 2022-10-26 | 2022-10-26 | 日志采集方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115630035A (zh) |
-
2022
- 2022-10-26 CN CN202211316318.1A patent/CN115630035A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030065759A1 (en) | Event driven storage resource metering | |
EP1935106B1 (en) | Device management system and method for managing device management object | |
CN105610648A (zh) | 一种运维监控数据的采集方法及服务器 | |
CN100488109C (zh) | 一种电信网管中性能数据补采系统及其方法 | |
CN111367760A (zh) | 日志采集方法及装置、计算机设备、存储介质 | |
CN113687974A (zh) | 客户端日志处理方法、装置及计算机设备 | |
CN111143317A (zh) | 一种日志存储方法、装置、设备及可读存储介质 | |
US7917476B2 (en) | Device management system using log management object and method for generating and controlling logging data therein | |
CN110908885B (zh) | 一种日志收集方法、装置及相关组件 | |
CN112905106B (zh) | 一种数据处理方法、装置、系统、设备及存储介质 | |
CN115630035A (zh) | 日志采集方法及相关装置 | |
CN106294470A (zh) | 基于切分日志的实时增量日志信息读取的方法 | |
JP6834703B2 (ja) | 業務利用ファイル管理システム、業務利用ファイルの管理方法、および、プログラム | |
US9183388B2 (en) | Injustice detecting system, injustice detecting device and injustice detecting method | |
CN115455059A (zh) | 一种基于底层数据解析用户行为的方法、装置及相关介质 | |
CN111158870A (zh) | 一种管理数据库的方法及装置 | |
CN100561953C (zh) | 一种记录诊断数据的方法 | |
CN113806438A (zh) | 一种基于海量bcp数据文件的入库及预处理方法和系统 | |
Cisco | Using IPM | |
Cisco | Using IPM | |
JP2010152707A (ja) | データベースのバックアップ方法及びデータベースシステム | |
CN110019262B (zh) | 数据更新方法及装置 | |
CN113127056B (zh) | 一种信息处理方法、装置、设备及可读存储介质 | |
JP7475086B1 (ja) | 編集方法、編集装置及びプログラム | |
CN113613063B (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 |