本公开提供了一种日志信息的处理方法、装置、设备、存储介质和程序产品,涉及任务调度技术领域,可以应用于金融技术领域。该方法包括:响应于接收到输出日志信息的指令,获取由多个应用线程各自输出的多个日志信息;将多个日志信息中的每一个日志信息依次分配至相对应的消息队列;经由与消息队列对应的日志处理线程,获取位于消息队列队头的日志信息;以及将日志信息存储至指定日志文件中。日志信息存储至指定日志文件中。日志信息存储至指定日志文件中。
【技术实现步骤摘要】
日志信息的处理方法、装置、电子设备和介质
[0001]本公开涉及任务调度
,可以应用于金融
,更具体地涉及一种日志信息的处理方法、装置、设备、介质和程序产品。
技术介绍
[0002]业务系统在运行过程中往往需要输出大量的日志文件用于问题处理或事后分析。现有技术对系统日志的输出通常有下面两种做法:(1)应用同步输出日志。这种做法在日志输出时,应用处于等待系统IO的状态。对于业务高峰期,大量日志输出的场景,业务响应时长将会显著增加,系统性能受到影响。(2)采用缓存的方式异步输出日志。这种做法是在内存中开辟一个缓存空间,将待写的日志写入缓存后应用继续业务处理,再由独立的日志处理线程异步读取缓存内容写入日志文件。由于应用访问缓存的速度相比写入磁盘文件来说快得多,业务响应时长不受影响。但是这种方式存在如下三个缺点:1.当读取缓存日志写入文件的速度远小于缓存日志增长的速度时,缓存空间会快速增长,导致应用占用大量内存;2.当存在业务高并发处理时,多个业务处理的日志在日志文件中交叉出现,日志显得杂乱不易查看;3.如果应用异常终止,缓存内容将会丢失导致已发生的业务缺失日志,面临运行风险。
技术实现思路
[0003]鉴于上述问题,本公开提供了日志信息的处理方法、装置、设备、介质和程序产品,在应对高并发业务系统日志处理时,可以针对每个应用线程输出的日志信息设置相应的消息队列,通过将所述多个日志信息中的每一个日志信息依次分配至相对应的消息队列,来优化日志的记录顺序、数据持久化和堆积能力;通过经由与消息队列对应的日志处理线程,获取位于所述消息队列队头的日志信息;并将所述日志信息存储至指定日志文件中,有利于将每个线程的执行日志按顺序生成独立的日志文件,可以提高日志文件的可读性。
[0004]根据本公开的第一个方面,提供了一种日志信息的处理方法,包括:响应于接收到输出日志信息的指令,获取由多个应用线程各自输出的多个日志信息;将所述多个日志信息中的每一个日志信息依次分配至相对应的消息队列;经由与消息队列对应的日志处理线程,获取位于所述消息队列队头的日志信息;以及将所述日志信息存储至指定日志文件中。
[0005]根据本公开实施例,所述日志信息包括日志标识;所述将所述日志信息存储至指定日志文件中,包括:确定所述消息队列是否存在日志报头;在确定所述消息队列存在日志报头的情况下,根据所述日志标识将所述日志报头和所述日志信息存储至与所述日志标识对应的日志文件。
[0006]根据本公开实施例,所述在确定所述消息队列存在日志报头的情况下,根据所述日志标识将所述日志报头和所述日志信息存储至与所述日志标识对应的日志文件,包括:获取所述日志报头中的流水号,确定是否存在与所述流水号对应的指定日志文件;在确定不存在与所述流水号对应的指定日志文件的情况下,创建与所述流水号对应的日志文件;
以及将所述日志信息存储至所述与所述流水号对应的日志文件。
[0007]根据本公开实施例,所述日志信息的处理方法还包括:响应于确定所述日志信息存储至指定日志文件完成,释放所述日志信息在所述消息队列中的存储空间。
[0008]根据本公开实施例,所述日志信息的处理方法还包括:在创建日志处理线程的同时,生成与所述日志处理线程对应的日志头;以及将所述日志头发送至所述消息队列。
[0009]本公开的第二方面提供了一种日志信息的处理装置,包括:第一获取模块,用于响应于接收到输出日志信息的指令,获取由多个应用线程各自输出的多个日志信息;分配模块,用于将所述多个日志信息中的每一个日志信息依次分配至相对应的消息队列;第二获取模块,用于经由与消息队列对应的日志处理线程,获取位于所述消息队列队头的日志信息;以及处理模块,用于将所述日志信息存储至指定日志文件中。
[0010]本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述日志信息的处理方法。
[0011]本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述日志信息的处理方法。
[0012]本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述日志信息的处理方法。
[0013]本实施例提供的日志信息的处理方法,在应对高并发业务系统日志处理时,可以针对每个应用线程输出的日志信息设置相应的消息队列,通过将所述多个日志信息中的每一个日志信息依次分配至相对应的消息队列,来优化日志的记录顺序、数据持久化和堆积能力;通过经由与消息队列对应的日志处理线程,获取位于所述消息队列队头的日志信息;并将所述日志信息存储至指定日志文件中,有利于将每个线程的执行日志按顺序生成独立的日志文件,可以提高日志文件的可读性。
附图说明
[0014]通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
[0015]图1示意性示出了根据本公开实施例的日志信息的处理方法、装置、设备、介质和程序产品的应用场景图;
[0016]图2示意性示出了根据本公开实施例的日志信息的处理方法的流程图;
[0017]图3示意性示出了根据本公开另一实施例的日志信息的处理方法的流程图;
[0018]图4示意性示出了根据本公开又一实施例的日志信息的处理方法的流程图;
[0019]图5示意性示出了根据本公开实施例的日志信息的处理装置的结构框图;以及
[0020]图6示意性示出了根据本公开实施例的适于实现日志信息的处理方法的电子设备的方框图。
具体实施方式
[0021]以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细
节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0022]在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0023]在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0024]在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种日志信息的处理方法,包括:响应于接收到输出日志信息的指令,获取由多个应用线程各自输出的多个日志信息;将所述多个日志信息中的每一个日志信息依次分配至相对应的消息队列;经由与消息队列对应的日志处理线程,获取位于所述消息队列队头的日志信息;以及将所述日志信息存储至指定日志文件中。2.根据权利要求1所述的方法,其中,所述日志信息包括日志标识;所述将所述日志信息存储至指定日志文件中,包括:确定所述消息队列是否存在日志报头;在确定所述消息队列存在日志报头的情况下,根据所述日志标识将所述日志报头和所述日志信息存储至与所述日志标识对应的日志文件。3.根据权利要求2所述的方法,其中,所述在确定所述消息队列存在日志报头的情况下,根据所述日志标识将所述日志报头和所述日志信息存储至与所述日志标识对应的日志文件,包括:获取所述日志报头中的流水号,确定是否存在与所述流水号对应的指定日志文件;在确定不存在与所述流水号对应的指定日志文件的情况下,创建与所述流水号对应的日志文件;以及将所述日志信息存储至所述与所述流水号对应的日志文件。4.根据权利要求1所述的方法,还包括:响应于确定所述日志信息存储至指定日志文件完成,释放所述日志信息在所述消息队列中的存储空间。5.根据权利要求1所述的方法,还包括:在创建日志处理线程的同时...
【专利技术属性】
技术研发人员:杨中,邓张帆,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。