CN108846070A - 分布式***的日志处理方法、***、电子设备和存储介质 - Google Patents

分布式***的日志处理方法、***、电子设备和存储介质 Download PDF

Info

Publication number
CN108846070A
CN108846070A CN201810582851.XA CN201810582851A CN108846070A CN 108846070 A CN108846070 A CN 108846070A CN 201810582851 A CN201810582851 A CN 201810582851A CN 108846070 A CN108846070 A CN 108846070A
Authority
CN
China
Prior art keywords
log
rank
application program
processing method
distributed
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
CN201810582851.XA
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 Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810582851.XA priority Critical patent/CN108846070A/zh
Publication of CN108846070A publication Critical patent/CN108846070A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供分布式***的日志处理方法、***、电子设备和存储介质,分布式***包含多台分布式服务器,所述方法包括:接收业务请求,获取响应所述业务请求的各分布式服务器所记录的日志;对响应所述业务请求的各分布式服务器所记录的日志进行复制,形成应用程序的当前线程日志;接收日志级别调整请求,所述日志级别调整请求包含原始日志级别和目标日志级别;根据所述日志级别调整请求,将所述应用程序的当前线程日志中级别与所述原始日志级别对应的日志的级别调整至所述目标日志级别;以及,输出调整后级别高于和等于该应用程序的输出级别的日志。本发明采用对应用程序无侵入式的方法,动态调整当前线程的日志级别,实现实时跟踪日志。

Description

分布式***的日志处理方法、***、电子设备和存储介质
技术领域
本发明涉及互联网技术领域,具体地说,涉及一种分布式***的日志处理方法、***、电子设备和存储介质。
背景技术
在软件开发调试,以及线上运行出现故障定位问题的时候,需要打印应用程序运行中记录的日志,进行问题排查。而日志无论是存储在集中式的ES(ElasticSearch,一种全文搜索和分析引擎)环境中还是服务器磁盘上,均是按照服务级别分级存储。
打印时,只有级别高于和等于应用程序原始配置的输出级别的日志才能被打印出来。这会造成两个问题,一是若应用程序原始配置的输出级别过低,则会打印出冗余日志信息,造成***负担,也给问题定位带来不便,降低排查效率;二是若应用程序原始配置的输出级别过高,则会遗漏很多低级别日志,导致问题无法定位。
由于应用程序配置完成启动后,中途无法更改日志的输出级别,在线上出现问题时想要跟踪排查,只能通过重启应用来改变日志的输出级别,对线上运行造成不便。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
针对现有技术中的问题,本发明提供一种分布式***的日志处理方法、***、电子设备和存储介质,解决日志查看分散,没有按照业务流程聚合,且无法动态调整级别的问题。
根据本发明的一个方面,提供一种分布式***的日志处理方法,所述分布式***包含多台分布式服务器,所述日志处理方法包括如下步骤:接收业务请求,获取响应所述业务请求的各分布式服务器所记录的日志;对响应所述业务请求的各分布式服务器所记录的日志进行复制,形成应用程序的当前线程日志;接收日志级别调整请求,所述日志级别调整请求包含原始日志级别和目标日志级别;根据所述日志级别调整请求,将所述应用程序的当前线程日志中级别与所述原始日志级别对应的日志的级别调整至所述目标日志级别;以及,输出调整后级别高于和等于该应用程序的输出级别的日志。
优选地,上述的日志处理方法中,将所述应用程序的当前线程日志中级别与所述原始日志级别对应的日志的级别调整至所述目标日志级别包括:从所述应用程序的当前线程日志中查找并筛选出级别与所述原始日志级别对应的日志;将筛选出的日志的级别调整至所述目标日志级别。
优选地,上述的日志处理方法中,将筛选出的日志的级别调整至所述目标日志级别的方式为:将所述原始日志级别和所述目标日志级别的对应关系写入所述应用程序的日志上下文的ROOT作用域下。
优选地,上述的日志处理方法中,输出调整后级别高于和等于该应用程序的输出级别的日志前还包括:过滤调整后级别低于该应用程序的输出级别的日志。
优选地,上述的日志处理方法用于对基于Log4j日志框架记录的日志的级别进行调整。
优选地,上述的日志处理方法中,通过WebSocket协议与发送所述业务请求和所述日志级别调整请求的终端进行数据传输。
优选地,上述的日志处理方法中,所述分布式***中,所述分布式服务器之间基于RPC协议实现远程调用。
根据本发明的一个方面,提供一种分布式***的日志处理***,所述分布式***包含多台分布式服务器,所述日志处理***包括如下模块:业务请求接收模块,用于接收业务请求,获取响应所述业务请求的各分布式服务器所记录的日志;日志收集模块,用于对响应所述业务请求的各分布式服务器所记录的日志进行复制,形成应用程序的当前线程日志;调整请求接收模块,用于接收日志级别调整请求,所述日志级别调整请求包含原始日志级别和目标日志级别;日志级别调整模块,用于根据所述日志级别调整请求,将所述应用程序的当前线程日志中级别与所述原始日志级别对应的日志的级别调整至所述目标日志级别;以及,输出模块,用于输出调整后级别高于和等于该应用程序的输出级别的日志。
优选地,上述的日志处理***中,所述日志级别调整模块包括:日志查找单元,从所述应用程序的当前线程日志中查找并筛选出级别与所述原始日志级别对应的日志;级别调整单元,将筛选出的日志的级别调整至所述目标日志级别。
优选地,上述的日志处理***还包括:过滤模块,用于过滤调整后级别低于该应用程序的输出级别的日志。
根据本发明的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的分布式***的日志处理方法的步骤。
根据本发明的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的分布式***的日志处理方法的步骤。
本发明与现有技术相比的有益效果在于:
本发明通过将应用程序当前线程的日志信息复制并异步推送,实现日志按照业务流程聚合,方便查看;通过对应用程序无侵入式的方式,动态调整日志级别,灵活输出需要的日志,便于开发人员快速定位和排查问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明实施例中分布式***的日志处理方法的流程示意图;
图2示出本发明实施例中分布式***的日志处理方法的应用场景图;
图3示出本发明实施例中分布式***的日志处理***的模块示意图;
图4示出本发明实施例中一种分布式***的日志处理设备的示意图;
图5示出本发明实施例中一种计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
图1是实施例中分布式***的日志处理方法的流程示意图,图2是分布式***的日志处理方法的应用场景图。结合图1和图2所示,本实施例中日志处理方法包括:
S10、接收业务请求,获取响应该业务请求的各分布式服务器所记录的日志。分布式***包括多台分布式服务器,每台分布式服务器用于执行应用程序的部分子业务,分布式服务器之间通过网络实现通信。
在具体的应用场景中,参照图2,请求端1发送一业务请求,分布式***中的多台分布式服务器响应该业务请求,例如分布式服务器2对业务请求进行分析,分布式服务器3负责计算,最终通过相互协同把业务请求的处理结果返回给请求端1。每台分布式服务器响应业务请求的同时,会记录下各自的日志信息。
S20、对响应业务请求的各分布式服务器所记录的日志进行复制,形成应用程序的当前线程日志。
参照图2,由于每台分布式服务器处理业务请求的相关日志信息存储在本地磁盘,不方便统一查看。本步骤通过对每台分布式服务器所记录的日志进行复制,并异步推送到服务端4,形成处理该业务请求所记录的应用程序的当前线程日志。也即实现了日志按照业务流程聚合。图2中LoggerContext是记录的针对该业务请求的日志信息的上下文环境,也即应用程序的当前线程日志。
本发明的日志处理方法可以应用于对基于Log4j框架记录的日志进行级别调整,基于Log4j的日志Appender标准扩展机制实现对应用程序所记录的所有日志进行复制处理并异步推送到服务端4。Log4j是一种日志管理工具,在Log4j框架下,日志按照级别分级存储。log4j定义了8个级别的日志,按照优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL。其中,ERROR、WARN、INFO、DEBUG是Java应用程序最常用的四个日志级别,其优先级为:DEBUG<INFO<WARN<ERROR。也即,在Log4j框架下,应用程序的当前线程日志中,日志信息是按照上述级别分级记录的。
S30、接收日志级别调整请求,该日志级别调整请求包含原始日志级别和目标日志级别。日志级别调整请求用于对应用程序中的某部分日志的级别进行调整,从而使该日志输出或者不让其输出。例如,若需要将原始日志级别为“WARN”的日志的级别调整为目标日志级别“INFO”,则日志级别调整请求可表示为“WARN=INFO”。当然,日志级别调整请求也可以采用其他方式表示,只要符合Log4j框架定义的规则,能够被识别和解析即可。
S40、根据日志级别调整请求,将应用程序的当前线程日志中级别与原始日志级别对应的日志的级别调整至目标日志级别。
如上所述,Log4j框架下日志按照级别分级记录存储。在日志输出时,仅级别高于和等于应用程序配置时设定的输出级别的日志被输出,而级别低于应用程序配置时设定的输出级别的日志被过滤。
默认情况下,应用程序在开发测试场景下原始配置的输出级别为“ERROR”,也即开发测试时应用程序的四级日志中仅“ERROR”级别的日志被输出,其余低级别的日志被过滤。在线上运行场景中,应用程序原始配置的输出级别通常为“WARN”。也即在线上运行时,级别为“WARN”和“ERROR”的日志会被输出,而级别为“DEBUG”和“INFO”的日志被过滤。
当输入日志级别调整请求“WARN=INFO”,将应用程序的当前线程日志中级别为“WARN”的日志的级别调整为“INFO”,则在输出时调整后所有级别为“INFO”的日志均被过滤。运用时,若需要输出低级别日志,则将部分日志的级别调高,使其调整后的级别高于或等于应用程序配置的输出级别。这样,低级别日志可以被跟踪,便于全面排查问题。若仅需输出高级别日志,则将不需要输出的日志的级别调低,使其调整后的级别低于应用程序配置的输出级别。这样,低级别冗余日志被过滤,减少日志输出量,提高排查效率。
调整日志级别的步骤包括:从应用程序的当前线程日志中查找并筛选出级别与原始日志级别对应的日志;也即从应用程序的当前线程日志中查找并筛选出级别为“WARN”的日志。然后将筛选出的日志的级别“WARN”调整至目标日志级别“INFO”。具体来说,是将原始日志级别和目标日志级别的对应关系“WARN=INFO”写入应用程序的日志上下文的ROOT作用域下,实现将筛选出的级别为“WARN”的日志的级别调整至目标日志级别“INFO”。
S50、过滤调整后级别低于该应用程序的输出级别的日志;以及S60、输出调整后级别高于或等于该应用程序的输出级别的日志。
参照图2,将原始日志级别“WARN”调整为目标日志级别“INFO”后,应用程序在输出日志时,通过自定义过滤器(Filter)5过滤掉调整后级别低于应用程序的输出级别的日志,即过滤掉调整后级别为“DEBUG”和“INFO”日志。然后由自定义输出源(Appender)6将级别为“WARN”和“ERROR”的日志输出至请求端1。所谓的自定义是指通过加载符合Log4j框架的软件开发工具包SDK,实现在日志级别调整后,自定义过滤器(Filter)5和自定义输出源(Appender)6根据日志级别的调整动态输出符合相应级别的日志。
图2中另外采用虚线绘示出了Log4j框架下原始的日志输出模式。受限于原始配置的日志输出级别“WARN”,内置过滤器5’和内置输出源6’根据原始配置过滤级别为“DEBUG”和“INFO”日志,输出级别为“WARN”和“ERROR”的日志至磁盘(Disk),而无法根据日志级别的调整动态输出符合相应级别的日志。
进一步的,服务端4与请求端1之间通过长连接技术,例如websocket、tcp、http长轮询等技术进行数据传输。Websocket是一种基于HTTP协议的新协议,实现了全双工通信,请求端1和服务端4之间可以随时互相发送数据。
多台分布式服务器之间基于RPC协议实现远程调用,并采用MDC方式记录日志。RPC(Remote Procedure Call,远程过程调用)协议通过网络从远程计算机程序上请求服务,使得分布式***中应用程序运行更加容易。MDC(Mapped Diagnostic Context,映射调试上下文)是Log4j提供的一种方便在多线程条件下记录日志的功能。
本实施例的分布式***的日志处理方法实现按照业务流程聚合日志,便于日志查看;通过对应用程序无侵入式的方式动态调整当前线程的日志级别,实现基于Log4j完成线程级别的日志动态输出,便于跟踪查询和问题排查。当然,在其他日志框架下,例如Logback日志框架下,本实施例的日志处理方法同样适用,实现动态跟踪和调整日志级别。
本实施例的分布式***的日志处理方法对大型集群服务提高联调效率,快速定位问题非常有利,帮助线上应用集群实时诊断问题,在高级别日志下可以更好跟踪低级别的日志详情输出,对于特定数据的问题排查意义重大,能够提高研发人测试等人员工作效率。
本发明的实施例还提供一种日志处理***,参照图3所示,该日志处理***30包括如下模块:
业务请求接收模块301,用于接收业务请求,获取响应该业务请求的各分布式服务器所记录的日志。业务请求接收模块401执行如上述日志处理方法实施例中的步骤S10。
日志收集模块302,用于对响应业务请求的各分布式服务器所记录的日志进行复制,形成应用程序的当前线程日志。日志收集模块302执行如上述日志处理方法实施例中的步骤S20。
调整请求接收模块303,用于接收日志级别调整请求,该日志级别调整请求包含原始日志级别和目标日志级别。调整请求接收模块303执行如上述日志处理方法实施例中的步骤S30。
日志级别调整模块304,用于根据日志级别调整请求,将应用程序的当前线程日志中级别与原始日志级别对应的日志的级别调整至目标日志级别。日志级别调整模块304执行如上述日志处理方法实施例中的步骤S40。日志级别调整模块304包括日志查找单元,从应用程序的当前线程日志中查找并筛选出级别与原始日志级别对应的日志;以及级别调整单元,将筛选出的日志的级别调整至目标日志级别。
过滤模块305,用于过滤调整后级别低于该应用程序的输出级别的日志。过滤模块305执行如上述日志处理方法实施例中的步骤S50。
输出模块306,用于输出调整后级别高于或等于该应用程序的输出级别的日志。输出模块306执行如上述日志处理方法实施例中的步骤S60。
上述的日志收集模块302、调整请求接收模块303、日志级别调整模块304、过滤模块305和输出模块306均可被集成于如上述实施例所述的服务端4中。
本实施例的日志处理***实现按照业务流程聚合日志,便于日志查看;通过对应用程序无侵入式的方式动态调整当前线程的日志级别,实现应用程序线程级别的日志动态输出,便于日志跟踪查询和问题排查。
本发明实施例还提供一种分布式***的日志处理设备,包括处理器和存储器,存储器中存储有可执行指令,处理器被配置为经由执行可执行指令来执行上述实施例中的分布式***的日志处理方法的步骤。
如上所述,本发明的分布式***的日志处理设备能够按照业务流程聚合日志,便于日志查看;通过对应用程序无侵入式的方式动态调整当前线程的日志级别,实现应用程序线程级别的日志动态输出,便于日志跟踪查询和问题排查。
图4是本发明实施例中分布式***的日志处理设备的结构示意图,应当理解的是,图4仅仅是示意性地绘示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块的合并、拆分及其余模块的增加都在本发明的保护范围之内。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图4来描述根据本发明的这种实施方式的分布式***的日志处理设备(下文简称电子设备)400。图4显示的电子设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400以通用计算设备的形式表现。电子设备400的组件可以包括但不限于:至少一个处理单元410、至少一个存储单元420、连接不同平台组件(包括存储单元420和处理单元410)的总线430、显示单元440等。
其中,存储单元存储有程序代码,程序代码可以被处理单元410执行,使得处理单元410执行本说明书上述分布式***的日志处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元410可以分别执行如图1所示的步骤。
存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)4201和/或高速缓存存储单元4202,还可以进一步包括只读存储单元(ROM)4203。
存储单元420还可以包括具有一组(至少一个)程序模块4205的程序/实用工具4204,这样的程序模块4205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备400也可以与一个或多个外部设备500(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口450进行。并且,电子设备400还可以通过网络适配器460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器460可以通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现上述实施例的分布式***的日志处理方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述车辆智能解锁方法部分中描述的根据本发明各种示例性实施方式的步骤。
如上所述,本发明的计算机可读存储介质能够按照业务流程聚合日志,便于日志查看;通过对应用程序无侵入式的方式动态调整当前线程的日志级别,实现应用程序线程级别的日志动态输出,便于日志跟踪查询和问题排查。
图5是本发明的计算机可读存储介质的结构示意图。参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上,本发明的分布式***的日志处理方法、***、电子设备、存储介质至少具备以下优点:
第一、在分布式服务架构模式下,解决应用程序日志独立存储查询困难的问题,实现按照业务流程聚合日志;
第二、在不改变应用程序源代码的基础之上动态调整应用程序当前线程的日志级别,解决应用上线后无法跟踪低级别日志的问题;
第三、对于在开发联调过程以及应用上线后的问题定位有积极作用,便于开发人员快速排查问题。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (12)

1.一种分布式***的日志处理方法,所述分布式***包含多台分布式服务器,其特征在于,所述日志处理方法包括如下步骤:
接收业务请求,获取响应所述业务请求的各分布式服务器所记录的日志;
对响应所述业务请求的各分布式服务器所记录的日志进行复制,形成应用程序的当前线程日志;
接收日志级别调整请求,所述日志级别调整请求包含原始日志级别和目标日志级别;
根据所述日志级别调整请求,将所述应用程序的当前线程日志中级别与所述原始日志级别对应的日志的级别调整至所述目标日志级别;以及
输出调整后级别高于和等于该应用程序的输出级别的日志。
2.如权利要求1所述的日志处理方法,其特征在于,将所述应用程序的当前线程日志中级别与所述原始日志级别对应的日志的级别调整至所述目标日志级别包括:
从所述应用程序的当前线程日志中查找并筛选出级别与所述原始日志级别对应的日志;
将筛选出的日志的级别调整至所述目标日志级别。
3.如权利要求2所述的日志处理方法,其特征在于,将筛选出的日志的级别调整至所述目标日志级别的方式为:
将所述原始日志级别和所述目标日志级别的对应关系写入所述应用程序的日志上下文的ROOT作用域下。
4.如权利要求1所述的日志处理方法,其特征在于,输出调整后级别高于和等于该应用程序的输出级别的日志前还包括:
过滤调整后级别低于该应用程序的输出级别的日志。
5.如权利要求1所述的日志处理方法,其特征在于,所述日志处理方法用于对基于Log4j日志框架记录的日志的级别进行调整。
6.如权利要求1所述的日志处理方法,其特征在于,通过WebSocket协议与发送所述业务请求和所述日志级别调整请求的终端进行数据传输。
7.如权利要求1所述的日志处理方法,其特征在于,所述分布式***中,所述分布式服务器之间基于RPC协议实现远程调用。
8.一种分布式***的日志处理***,所述分布式***包含多台分布式服务器,其特征在于,所述日志处理***包括如下模块:
业务请求接收模块,用于接收业务请求,获取响应所述业务请求的各分布式服务器所记录的日志;
日志收集模块,用于对响应所述业务请求的各分布式服务器所记录的日志进行复制,形成应用程序的当前线程日志;
调整请求接收模块,用于接收日志级别调整请求,所述日志级别调整请求包含原始日志级别和目标日志级别;
日志级别调整模块,用于根据所述日志级别调整请求,将所述应用程序的当前线程日志中级别与所述原始日志级别对应的日志的级别调整至所述目标日志级别;以及
输出模块,用于输出调整后级别高于和等于该应用程序的输出级别的日志。
9.如权利要求8所述的日志处理***,其特征在于,所述日志级别调整模块包括:
日志查找单元,从所述应用程序的当前线程日志中查找并筛选出级别与所述原始日志级别对应的日志;
级别调整单元,将筛选出的日志的级别调整至所述目标日志级别。
10.如权利要求8所述的日志处理***,其特征在于,还包括:
过滤模块,用于过滤调整后级别低于该应用程序的输出级别的日志。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7任一项所述的分布式***的日志处理方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7任一项所述的分布式***的日志处理方法的步骤。
CN201810582851.XA 2018-06-07 2018-06-07 分布式***的日志处理方法、***、电子设备和存储介质 Pending CN108846070A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810582851.XA CN108846070A (zh) 2018-06-07 2018-06-07 分布式***的日志处理方法、***、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810582851.XA CN108846070A (zh) 2018-06-07 2018-06-07 分布式***的日志处理方法、***、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN108846070A true CN108846070A (zh) 2018-11-20

Family

ID=64211539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810582851.XA Pending CN108846070A (zh) 2018-06-07 2018-06-07 分布式***的日志处理方法、***、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN108846070A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492045A (zh) * 2018-11-22 2019-03-19 郑州云海信息技术有限公司 一种日志信息处理方法及***
CN109656786A (zh) * 2018-12-27 2019-04-19 天弘基金管理有限公司 日志获取方法及装置
CN109857715A (zh) * 2019-01-23 2019-06-07 安徽省鼎众金融信息咨询服务有限公司 一种强化错误排查支持的日志记录方法和***
CN109977089A (zh) * 2019-03-13 2019-07-05 深圳壹账通智能科技有限公司 日志管理方法、装置、计算机设备及计算机可读存储介质
CN110007956A (zh) * 2019-03-29 2019-07-12 四川虹美智能科技有限公司 一种动态配置日志的方法及装置
CN110351126A (zh) * 2019-06-26 2019-10-18 中信百信银行股份有限公司 日志级别调整方法、装置及电子设备
CN110378962A (zh) * 2018-11-27 2019-10-25 北京京东尚科信息技术有限公司 车载相机的标定方法、装置及计算机可读存储介质
CN110780857A (zh) * 2019-10-23 2020-02-11 杭州涂鸦信息技术有限公司 一种统一日志组件
CN111046009A (zh) * 2019-11-11 2020-04-21 杭州迪普科技股份有限公司 日志存储方法及装置
CN111130905A (zh) * 2019-12-31 2020-05-08 青梧桐有限责任公司 基于分布式集群的日志级别动态调整方法
CN111182066A (zh) * 2019-12-31 2020-05-19 青梧桐有限责任公司 基于token认证的日志级别动态调整方法
CN111435327A (zh) * 2019-01-15 2020-07-21 菜鸟智能物流控股有限公司 一种日志记录的处理方法、装置及***
CN112069143A (zh) * 2020-08-11 2020-12-11 烽火通信科技股份有限公司 日志级别调整方法、装置、设备及可读存储介质
CN112306744A (zh) * 2019-07-26 2021-02-02 浙江宇视科技有限公司 一种日志存储备份方法、装置、服务器和介质
CN112486435A (zh) * 2020-12-17 2021-03-12 青岛海尔科技有限公司 用于日志打印的方法、***和装置
CN113641560A (zh) * 2021-10-15 2021-11-12 山东亚华电子股份有限公司 一种日志动态监控方法及设备
CN113778755A (zh) * 2021-09-16 2021-12-10 浪潮商用机器有限公司 一种数据同步方法、装置、设备及计算机可读存储介质
CN114489981A (zh) * 2022-01-19 2022-05-13 杭州玳数科技有限公司 flink任务的日志级别的动态调整方法和装置
WO2023216042A1 (zh) * 2022-05-08 2023-11-16 Oppo广东移动通信有限公司 事件管理方法、装置、设备、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843822A (zh) * 2015-01-16 2016-08-10 北京神州泰岳软件股份有限公司 一种修改日志级别的方法和装置
US9626240B2 (en) * 2014-09-25 2017-04-18 Oracle International Corporation Adaptive application logger
CN106681891A (zh) * 2015-11-05 2017-05-17 阿里巴巴集团控股有限公司 一种Java应用***中调整日志级别的方法及装置
CN107947954A (zh) * 2016-10-12 2018-04-20 腾讯科技(深圳)有限公司 动态调整日志级别的***、方法及服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626240B2 (en) * 2014-09-25 2017-04-18 Oracle International Corporation Adaptive application logger
CN105843822A (zh) * 2015-01-16 2016-08-10 北京神州泰岳软件股份有限公司 一种修改日志级别的方法和装置
CN106681891A (zh) * 2015-11-05 2017-05-17 阿里巴巴集团控股有限公司 一种Java应用***中调整日志级别的方法及装置
CN107947954A (zh) * 2016-10-12 2018-04-20 腾讯科技(深圳)有限公司 动态调整日志级别的***、方法及服务器

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492045A (zh) * 2018-11-22 2019-03-19 郑州云海信息技术有限公司 一种日志信息处理方法及***
CN110378962A (zh) * 2018-11-27 2019-10-25 北京京东尚科信息技术有限公司 车载相机的标定方法、装置及计算机可读存储介质
CN109656786A (zh) * 2018-12-27 2019-04-19 天弘基金管理有限公司 日志获取方法及装置
CN109656786B (zh) * 2018-12-27 2022-06-03 天弘基金管理有限公司 日志获取方法及装置
CN111435327A (zh) * 2019-01-15 2020-07-21 菜鸟智能物流控股有限公司 一种日志记录的处理方法、装置及***
CN111435327B (zh) * 2019-01-15 2023-11-14 菜鸟智能物流控股有限公司 一种日志记录的处理方法、装置及***
CN109857715A (zh) * 2019-01-23 2019-06-07 安徽省鼎众金融信息咨询服务有限公司 一种强化错误排查支持的日志记录方法和***
CN109977089A (zh) * 2019-03-13 2019-07-05 深圳壹账通智能科技有限公司 日志管理方法、装置、计算机设备及计算机可读存储介质
CN110007956A (zh) * 2019-03-29 2019-07-12 四川虹美智能科技有限公司 一种动态配置日志的方法及装置
CN110351126A (zh) * 2019-06-26 2019-10-18 中信百信银行股份有限公司 日志级别调整方法、装置及电子设备
CN112306744A (zh) * 2019-07-26 2021-02-02 浙江宇视科技有限公司 一种日志存储备份方法、装置、服务器和介质
CN112306744B (zh) * 2019-07-26 2024-02-06 浙江宇视科技有限公司 一种日志存储备份方法、装置、服务器和介质
CN110780857A (zh) * 2019-10-23 2020-02-11 杭州涂鸦信息技术有限公司 一种统一日志组件
CN110780857B (zh) * 2019-10-23 2024-01-30 杭州涂鸦信息技术有限公司 一种统一日志组件
CN111046009A (zh) * 2019-11-11 2020-04-21 杭州迪普科技股份有限公司 日志存储方法及装置
CN111046009B (zh) * 2019-11-11 2023-11-21 杭州迪普科技股份有限公司 日志存储方法及装置
CN111130905A (zh) * 2019-12-31 2020-05-08 青梧桐有限责任公司 基于分布式集群的日志级别动态调整方法
CN111182066A (zh) * 2019-12-31 2020-05-19 青梧桐有限责任公司 基于token认证的日志级别动态调整方法
CN112069143A (zh) * 2020-08-11 2020-12-11 烽火通信科技股份有限公司 日志级别调整方法、装置、设备及可读存储介质
CN112486435A (zh) * 2020-12-17 2021-03-12 青岛海尔科技有限公司 用于日志打印的方法、***和装置
CN113778755A (zh) * 2021-09-16 2021-12-10 浪潮商用机器有限公司 一种数据同步方法、装置、设备及计算机可读存储介质
CN113641560B (zh) * 2021-10-15 2021-12-31 山东亚华电子股份有限公司 一种日志动态监控方法及设备
CN113641560A (zh) * 2021-10-15 2021-11-12 山东亚华电子股份有限公司 一种日志动态监控方法及设备
CN114489981A (zh) * 2022-01-19 2022-05-13 杭州玳数科技有限公司 flink任务的日志级别的动态调整方法和装置
WO2023216042A1 (zh) * 2022-05-08 2023-11-16 Oppo广东移动通信有限公司 事件管理方法、装置、设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
CN108846070A (zh) 分布式***的日志处理方法、***、电子设备和存储介质
US11842322B2 (en) Smart contract interpreter
JP7268077B2 (ja) 自動運転のテストデータ記憶方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
CN111737127A (zh) 用于测试地图服务的方法和装置
CN107463409A (zh) 一种接口转换方法、接口转换器、存储介质及电子终端
US9442822B2 (en) Providing a visual representation of a sub-set of a visual program
CN105512044B (zh) 用于关键字驱动测试的对象库的更新方法及***
CN111930489B (zh) 一种任务调度方法、装置、设备及存储介质
JP2005516276A (ja) 検出および/または制御環境用のオブジェクト指向フレームワーク・アーキテクチャ
US9612617B1 (en) Wearable computing device for managing and storing data
CN109656570A (zh) 集群***及其运行方法、电子设备和存储介质
CN110019498A (zh) 日志同步方法及装置、存储介质、电子设备
JP2022031625A (ja) 情報をプッシュするための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
US8001424B2 (en) System and method for fault mapping of exceptions across programming models
WO2022105546A1 (zh) 一种基于区块链的大数据交易方法、装置、介质及设备
CN109656781A (zh) 一种日志管理方法、***、介质和电子设备
CN112350872A (zh) 网络架构配置信息生成方法、装置、存储介质及电子设备
CN108829591A (zh) 一种基于Web的协同调试***及方法
CN117560277A (zh) 日志处理方法和***、日志管理平台及电子设备
CN110362294A (zh) 开发任务执行方法、装置、电子设备及存储介质
CN109412970A (zh) 数据流转***、数据流转方法、电子设备和存储介质
CN116132250A (zh) 运维***、方法、存储介质、电子设备
CN113032477B (zh) 基于gtid的长距离数据同步方法、装置及计算设备
Maule SoaML and UPIA model integration for secure distributed SOA clouds
CN114615254B (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