CN107947954B - 动态调整日志级别的系统、方法及服务器 - Google Patents
动态调整日志级别的系统、方法及服务器 Download PDFInfo
- Publication number
- CN107947954B CN107947954B CN201610892121.0A CN201610892121A CN107947954B CN 107947954 B CN107947954 B CN 107947954B CN 201610892121 A CN201610892121 A CN 201610892121A CN 107947954 B CN107947954 B CN 107947954B
- Authority
- CN
- China
- Prior art keywords
- log level
- server
- information
- application program
- configuration
- 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.)
- Active
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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种动态调整日志级别的系统、方法及服务器,属于互联网技术领域。本发明的系统包括配置服务器和多个分布式服务器,每个分布式服务器上均设置有日志级别调整模块,配置服务器用于向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;日志级别调整模块用于接收配置服务器发送的请求,并根据请求调整对应的分布式服务器上指定应用程序的日志级别。本发明基于配置服务器和日志级别调整模块直接通信,能够基于TCP的方式接收调整日志级别的请求,从而满足非web场景下的调整日志级别的需求;本发明应用于分布式场景中,能够向指定服务器进行定向推送调整日志级别的请求,提高了调整日志级别的准确性和效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种动态调整日志级别的系统、方法及服务器。
背景技术
在程序运行的过程中,为了便于出现问题时,能够排查问题,复盘现场,经常在程序运行的过程中进行日志打印,而大量的日志打印往往会带来负面的问题,例如影响程序运行效率,带来系统和硬件资源的消耗等,所以一般场景下对于日志的输出,会按不同重要性,进行不同级别的日志打印。例如,非关键性日志的特点都是量大,重要性低,赋予日志级别为低,关键性日志的特点都是量小,重要性高,赋予日志级别为高。而出现问题时需要调整日志级别,输出更多的日志,来排查程序运行过程中的问题。目前需要一种能够在分布式场景下来动态调整日志级别的组件来适应动态变更的需求。
申请号为20151002340.7的中国专利公开了一种修改日志级别的方法和装置,该方案能够很好的解决web场景下的日志级别调整,但本申请的申请人发现,该方案存在如下几个方面的不足:
1)目前在海量场景下,为了避免单点问题,通常都会部署多台服务器,并通过由例如nginx,或者lvs的反向代理来进行流量分配的均匀分配。此时基于以上方法,无法将日志级别调整的请求发送到指定的服务器ip上。
2)在分布式场景下,并不是都是基于web来进行提供服务的,还有大量的服务是基于tcp/ip,本身是不接受http请求的。所以基于以上方案在该种场景下,需要应用自己去解析http协议,成本较高。
3)java web应用一般将日志组件log4j的配置文件打包一起部署到线上,以上方案只是调整了内存的配置和日志的临时配置,如果重新部署,线上的log4j的配置将会被覆盖,所以无法达到日志级别调整的持久化。
发明内容
为了解决上述问题,本发明提供了一种动态调整日志级别的系统,包括:配置服务器和多个分布式服务器,每个所述分布式服务器上均设置有日志级别调整模块,
所述配置服务器用于向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;
所述日志级别调整模块用于接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。
本发明还提供了一种动态调整日志级别的方法,包括:
配置服务器向指定的分布式服务器上的日志级别调整模块发送调整指定应用程序的日志级别的请求;
日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。
本发明还提供了一种配置服务器,所述配置服务器用于向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;所述日志级别调整模块设置在分布式服务器上,所述日志级别调整模块用于接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。
本发明还提供了一种分布式服务器,每个所述分布式服务器上均设置有日志级别调整模块,所述日志级别调整模块用于接收配置服务器发送的调整指定应用程序的日志级别的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。
本申请的系统设置配置服务器,并在每个分布式服务器上设置日志级别调整模块,配置服务器向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。本申请能够实现动态调整日志输出级别,便于开发人员排查问题;本申请基于配置服务器和日志级别调整模块直接通信,能够基于TCP的方式接收调整日志级别的请求,从而满足非web场景下的调整日志级别的需求;本申请应用于分布式场景中,能够指定一台或多台分布式服务器的IP进行定向推送调整日志级别的请求,提高了调整日志级别的准确性和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是根据本发明实施例1的系统的结构框图。
图2是根据本发明实施例的服务器的硬件结构框图。
图3是根据本发明实施例2的系统的结构框图。
图4是根据本发明实施例5的方法的流程图。
图5是本发明实施例5中步骤401的流程图。
图6是本发明实施例5中步骤402的流程图。
图7是本发明实施例5中的另一流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
如图1所示,根据本发明实施例,提供了一种动态调整日志级别的系统的实施例,系统包括配置服务器200和多个分布式服务器300。
图2是根据本发明实施例的动态调整日志级别的系统中涉及的服务器(配置服务器200和分布式服务器300)的硬件结构框图。如图2所示,服务器可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的页面数据交互方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的页面数据交互方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端100的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图1所示的系统。其中,每个所述分布式服务器300上均设置有日志级别调整模块310,所述配置服务器200用于向指定的日志级别调整模块310发送调整指定应用程序的日志级别的请求;所述日志级别调整模块310用于接收所述配置服务器200发送的请求,并根据所述请求调整对应的分布式服务器300上指定应用程序的日志级别。
需要说明的是,配置服务器200首先接收管理员输入的调整日志级别的指令,指令具体可包括推送到指定的分布式服务器的指定应用程序,然后配置服务器200根据接收的指令相日志级别调整模块310发送相应的请求。
目前java程序常用的日志组件为Apache的Log4j组件,本发明可以应用于基于Log4j组件的日志级别调整过程。其中,java是由Sun Microsystems公司于1995年5月推出的java面向对象程序设计语言;Log4j是Apache的一个开放源代码项目,Apache Log4j是一个基于Java的日志记录工具。日志操作包log4j包含记录器Logger、输出源Appender和布局Layout三个主要组件。其中:
Logger是日志的逻辑文件名,一般使用已知的java应用程序的名称。每个记录器当前所使用的日志记录级别(经常使用的是DEBUG、INFO、ERROR等)是独立配置的;
Appender一般使用日志文件,比如FileAppender、ConsoleAppender、SocketAppender、SyslogAppender、NTEventlogAppender,甚至是SMTPAppender。多个Appender可以被关联到任何Logger上,因此可以在多个输出文件上记录相同的信息。
Appender使用Layout格式化日志条目。常用的格式化为“一次一行”式日志文件的Layout是PatternLayout,其使用一个模式字符串,类似于C/C++的printf函数。此外,还有HTMLLayout和XMLLayout,使用HTML和XML格式相对于PatternLayout更方便。
需要说明的是,本申请的应用场景不局限于Log4j,只要包含对应用程序修改日志级别的场景,均适用于本发明。
现有的日志级别修改系统中,一般采用代理服务器来发送请求,但由于代理服务器的特性,其无法将调整日志级别的请求发送到指定的服务器IP上。本申请设置配置服务器200,并在每个分布式服务器300上设置日志级别调整模块310,配置服务器200能够直接和每个日志级别调整模块310通信,不需要经过代理服务器,因此,能够实现向指定服务器的指定应用程序发送修改日志级别的请求。此外,由于配置服务器200和日志级别调整模块310能够直接通信,配置服务器200可以向日志级别调整模块310发送多种请求,包括但不限于TCP请求和UDP请求,从而解决了现有的修改日志系统中必须基于http请求带来的问题。
综上所述,本申请的系统通过设置配置服务器和在每个分布式服务器上设置日志级别调整模块,配置服务器向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。本申请能够实现动态调整日志输出级别,便于开发人员排查问题;本申请基于配置服务器和日志级别调整模块直接通信,能够基于TCP的方式接收调整日志级别的请求,从而满足非web场景下的调整日志级别的需求;本申请应用于分布式场景中,能够指定一台或多台分布式服务器的IP进行定向推送调整日志级别的请求,提高了调整日志级别的准确性和效率。
实施例2
如图3所示,本申请提供了另一种动态调整日志级别的系统,系统包括配置服务器200和多个分布式服务器300,每个所述分布式服务器300上均设置有日志级别调整模块310,所述配置服务器200用于向指定的日志级别调整模块310发送调整指定应用程序的日志级别的请求;所述日志级别调整模块310用于接收所述配置服务器200发送的请求,并根据所述请求调整对应的分布式服务器300上指定应用程序的日志级别。
系统还包括存储模块400,所述配置服务器200还用于将指定应用程序最新的日志级别信息存储到所述存储模块400中。
存储模块400可以是数据库,数据库除了可以独立于配置服务器200之外,还可以配置在配置服务器200的装置中,使得配置服务器200可以直接从自身配置的数据库中获取所需的数据。或者存储模块400还可以是配置服务器200的缓存cache。本发明实施例在此不对存储模块400的配置方式进行具体限定。
用户终端与查找对象的装置之间通过网络进行通信,查找对象的装置与数据库之间也通过网络进行通信,该网络可以为无线网络或有线网络。
在本实施例中,配置服务器200将指定应用程序最新的日志级别信息存储到所述存储模块400中,这样,即使线上的日志级别的配置被覆盖,存储模块400中仍然存储有日志级别调整记录,从而实现日志级别调整的持久化。
作为一种可选的实施例,所述配置服务器200包括日志级别管理模块210,所述日志级别管理模块用于确定待调整的应用程序及获取所述应用程序调整后的日志级别信息。
作为一种可选的实施例,所述配置服务器200还包括推送管理模块220,所述推送管理模块220用于获取待接收请求的分布式服务器的IP地址信息。
具体来说,所述推送管理模块220用于确定向哪台服务器推送日志级别调整请求。日志级别管理模块210设置好指定应用程序对应的调整后的日志级别信息,保存在存储模块400中,推送管理模块220可以指定目标分布式服务器的IP地址,该IP地址可以是某一台或几台服务器的IP地址,也可以是部署该应用程序的所有服务器的IP地址。
作为一种可选的实施例,所述日志级别调整模块310包括日志级别调整接收单元311和日志级别调整单元312;所述日志级别调整接收单元311用于接收所述配置服务器200发送的请求,从所述请求中解析出指定应用程序的日志级别调整后的配置信息;所述日志级别调整单元312用于接收所述配置信息,并根据所述配置信息调整所述指定应用程序的日志级别。
作为一种可选的实施例,所述日志级别调整接收单元还用于接收日志级别调整单元发送的本地服务器中应用程序调整后的日志级别信息,并将接收到的日志级别信息发送至所述配置服务器。
举例来说,对于指定应用程序的A模块的日志级别为DEBUG,B模块的日志级别为INFO,需要将A模块的日志级别修改为INFO,配置服务器200只需要向日志级别调整接收单元311发送修改该应用程序A模块日志级别的请求并将该修改信息保存在存储模块400中。日志级别调整接收单元311接收到配置服务器200发送的请求后,解析该请求,生成该应用程序的日志级别调整后的配置信息,将配置信息发送给日志级别调整单元312,这里的配置信息是应用程序的日志级别中需要调整的那部分对应的调整后的配置信息,也就是本例中A模块调整后的配置信息;日志级别调整单元312将接收的配置信息覆盖本地加载的日志级别配置信息(例如,本地Log4j的配置信息),从而实现调整应用程序日志级别,也就是本例中,调整应用程序A模块的日志级别。
当日志级别调整单元312调整好应用程序的日志级别后,会从本地服务器的内存中获取本地服务器中应用程序调整后的日志级别信息;并将获取的本地服务器中应用程序调整后的日志级别信息发送给日志级别调整接收单元311,日志级别调整接收单元311还用于将接收到的本地服务器中应用程序调整后的日志级别信息发送至配置服务器200;配置服务器200将对应的分布式服务器中的应用程序调整后的日志级别信息保存在存储模块400中。这样一来,即使线上的日志级别的配置信息在调整中会被覆盖,由于配置服务器200动态存储分布式服务器300中日志级别的信息,从而实现日志级别调整的持久化。
作为一种可选的实施例,所述日志级别调整接收单元311还用于在本地服务器启动时,从所述配置服务器200获取指定应用程序最新的日志级别信息,根据获取的信息向日志级别调整单元312发送指定应用程序的日志级别调整后的配置信息。由于本实施例中,日志级别调整接收单元311在本地服务器启动时,总是从配置服务器200中拉取应用程序最新的日志级别信息,结合配置服务器200将对应的分布式服务器中的应用程序调整后的日志级别信息保存在存储模块400中,能够进一步实现日志级别调整的自动化和持久化。
作为一种可选的实施例,所述配置服务器发送的请求包含指定应用程序调整后的日志级别信息。
作为一种可选的实施例,所述配置服务器发送的请求包含指定应用程序所在的分布式服务器的IP地址;所述日志级别调整接收单元还用于在接收到所述配置服务器发送的请求后,根据所述IP地址从所述配置服务器获取所述指定应用程序最新的日志级别信息。
作为一种可选的实施例,所述请求包括TCP请求和UDP请求。
本申请的系统通过设置配置服务器和在每个分布式服务器上设置日志级别调整模块,配置服务器向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。本申请能够实现动态调整日志输出级别,便于开发人员排查问题;本申请基于配置服务器和日志级别调整模块直接通信,能够基于TCP的方式接收调整日志级别的请求,从而满足非web场景下的调整日志级别的需求;本申请应用于分布式场景中,能够指定一台或多台分布式服务器的IP进行定向推送调整日志级别的请求,提高了调整日志级别的准确性和效率。另外,本申请设置存储模块,能够存储配置应用程序日志级别调整的信息;且配置服务器动态存储分布式服务器中日志级别的信息,从而实现日志级别调整的持久化。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的装置可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
本发明还提供了一种配置服务器,所述配置服务器用于向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;所述日志级别调整模块设置在分布式服务器上,所述日志级别调整模块用于接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。
本申请的配置服务器能够向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;从而使日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。本申请能够实现动态调整日志输出级别,便于开发人员排查问题;本申请基于配置服务器和日志级别调整模块直接通信,能够基于TCP的方式接收调整日志级别的请求,从而满足非web场景下的调整日志级别的需求;本申请应用于分布式场景中,配置服务器能够指定一台或多台分布式服务器的IP进行定向推送调整日志级别的请求,提高了调整日志级别的准确性和效率。
实施例4
本申请实施例还提供了一种分布式服务器,每个所述分布式服务器上均设置有日志级别调整模块,所述日志级别调整模块用于接收配置服务器发送的调整指定应用程序的日志级别的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。
本申请的分布式服务器设置有日志级别调整模块,能够接受配置服务器发送的调整指定应用程序的日志级别的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。本申请能够实现动态调整日志输出级别,便于开发人员排查问题;本申请基于配置服务器和日志级别调整模块直接通信,能够基于TCP的方式接收调整日志级别的请求,从而满足非web场景下的调整日志级别的需求;本申请应用于分布式场景中,配置服务器能够指定一台或多台分布式服务器的IP进行定向推送调整日志级别的请求,提高了调整日志级别的准确性和效率。
实施例5
基于实施例1描述的装置,本发明还提供了一种动态调整日志级别的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机装置中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图4所示,该方法包括以下步骤:
步骤401,配置服务器向指定的分布式服务器上的日志级别调整模块发送调整指定应用程序的日志级别的请求。
步骤402,日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。
作为一种可选的实施例,如图5所示,上述步骤401包括:
步骤501,配置服务器确定待调整的应用程序及获取所述应用程序调整后的日志级别信息和待接收请求的分布式服务器的IP地址信息。
步骤502,配置服务器根据获取的信息向所述IP地址信息对应的分布式服务器上的日志级别调整模块发送调整所述应用程序的日志级别的请求。
作为一种可选的实施例,如图6所示,上述步骤402包括:
步骤601,所述日志级别调整模块的日志级别调整接收单元接收所述配置服务器发送的请求从所述请求中解析出指定应用程序的日志级别调整后的配置信息。
步骤602,所述日志级别调整模块的日志级别调整单元接收所述配置信息,并根据所述配置信息调整所述指定应用程序的日志级别。
作为一种可选的实施例,如图7所示,所述方法还包括:
步骤403,所述日志级别调整单元将本地服务器中应用程序调整后的日志级别信息发送给所述日志级别调整接收单元。
步骤404,所述日志级别调整接收单元接收所述日志级别调整单元发送的本地服务器中应用程序调整后的日志级别信息,并将接收到的日志级别信息发送至所述配置服务器。
当然,作为一种可选的实施例,所述配置服务器将接收到的数据存储在存储模块中。
作为一种可选的实施例,步骤401还包括:所述配置服务器将指定应用程序最新的日志级别信息存储到存储模块中。
作为一种可选的实施例,步骤601还包括:所述日志级别调整接收单元在本地服务器启动时,从所述配置服务器获取指定应用程序最新的日志级别信息,根据获取的信息向日志级别调整单元发送指定应用程序的日志级别调整后的配置信息。
作为一种可选的实施例,如图7所示,所述日志级别调整接收单元在本地服务器启动时,从所述配置服务器获取指定应用程序最新的日志级别信息,根据获取的信息向日志级别调整单元发送指定应用程序的日志级别调整后的配置信息,包括:
步骤701,所述日志级别调整接收单元在本地服务器启动时,从本地服务器中获取应用程序的日志级别信息;
步骤702,所述日志级别调整接收单元向所述配置服务器请求所述应用程序的日志级别信息;
步骤703,所述配置服务器根据所述日志级别调整接收单元发送的请求,从所述存储模块中查找所述应用程序最新的日志级别信息,将查找到的信息发送给所述日志级别调整接收单元;
步骤704,所述日志级别调整接收单元对本地服务器中的应用程序的日志级别信息和配置服务器发送的应用程序最新的日志级别信息进行比较,根据本地服务器中的应用程序的日志级别信息和配置服务器发送的应用程序最新的日志级别信息的差异生成与所述差异对应的应用程序的日志级别调整后的配置信息,并将所述应用程序的日志级别调整后的配置信息发送给所述日志级别调整单元。
作为一种可选的实施例,所述配置服务器发送的请求包含指定应用程序调整后的日志级别信息。
作为一种可选的实施例,所述配置服务器发送的请求包含指定应用程序所在的分布式服务器的IP地址;所述方法还包括:
所述日志级别调整接收单元在接收到所述配置服务器发送的请求后,根据所述IP地址从所述配置服务器获取所述指定应用程序最新的日志级别信息。
作为一种可选的实施例,所述请求包括TCP请求和UDP请求。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本申请的系统通过设置配置服务器和在每个分布式服务器上设置日志级别调整模块,配置服务器向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别。本申请能够实现动态调整日志输出级别,便于开发人员排查问题;本申请基于配置服务器和日志级别调整模块直接通信,能够基于TCP的方式接收调整日志级别的请求,从而满足非web场景下的调整日志级别的需求;本申请应用于分布式场景中,能够指定一台或多台分布式服务器的IP进行定向推送调整日志级别的请求,提高了调整日志级别的准确性和效率。另外,本申请设置存储模块,能够存储配置应用程序日志级别调整的信息;且配置服务器动态存储分布式服务器中日志级别的信息,从而实现日志级别调整的持久化。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种动态调整日志级别的系统,其特征在于,应用于对应用程序修改日志级别的场景,包括:配置服务器和多个分布式服务器,每个所述分布式服务器上均设置有日志级别调整模块,
所述配置服务器用于向指定的日志级别调整模块发送调整指定应用程序的日志级别的请求;所述配置服务器发送的请求包含目标分布式服务器的IP地址信息;所述指定的日志级别调整模块为所述IP地址信息对应的分布式服务器上的日志级别调整模块;
所述指定的日志级别调整模块用于接收所述配置服务器发送的请求,从所述请求中解析出所述指定应用程序的日志级别对应的调整后的配置信息,将所述调整后的配置信息覆盖本地加载的日志级别配置信息,以调整所述指定应用程序的日志级别;
其中,所述配置服务器还用于动态存储指定应用程序的日志级别信息,所述指定的日志级别调整模块还用于在本地分布式服务器启动时,从所述配置服务器中拉取指定应用程序最新的日志级别信息。
2.根据权利要求1所述的动态调整日志级别的系统,其特征在于,所述配置服务器包括日志级别管理模块和推送管理模块,所述日志级别管理模块用于确定待调整的应用程序及获取所述应用程序调整后的日志级别信息;所述推送管理模块用于获取待接收请求的分布式服务器的IP地址信息。
3.根据权利要求1所述的动态调整日志级别的系统,其特征在于,所述日志级别调整模块包括日志级别调整接收单元和日志级别调整单元;所述日志级别调整接收单元用于接收所述配置服务器发送的请求,从所述请求中解析出指定应用程序的日志级别调整后的配置信息;所述日志级别调整单元用于接收所述配置信息,并根据所述配置信息调整所述指定应用程序的日志级别。
4.根据权利要求3所述的动态调整日志级别的系统,其特征在于,所述日志级别调整接收单元还用于接收日志级别调整单元发送的本地服务器中应用程序调整后的日志级别信息,并将接收到的日志级别信息发送至所述配置服务器。
5.根据权利要求3所述的动态调整日志级别的系统,其特征在于,所述系统还包括存储模块,所述配置服务器还用于将指定应用程序最新的日志级别信息存储到所述存储模块中。
6.根据权利要求5所述的动态调整日志级别的系统,其特征在于,所述日志级别调整接收单元还用于在本地服务器启动时,从所述配置服务器获取指定应用程序最新的日志级别信息,根据获取的信息向日志级别调整单元发送指定应用程序的日志级别调整后的配置信息。
7.根据权利要求1所述的动态调整日志级别的系统,其特征在于,所述配置服务器发送的请求包含指定应用程序调整后的日志级别信息。
8.根据权利要求5所述的动态调整日志级别的系统,其特征在于,所述配置服务器发送的请求包含指定应用程序所在的分布式服务器的IP地址;所述日志级别调整接收单元还用于在接收到所述配置服务器发送的请求后,根据所述IP地址从所述配置服务器获取所述指定应用程序最新的日志级别信息。
9.根据权利要求1所述的动态调整日志级别的系统,其特征在于,所述请求包括TCP请求和UDP请求。
10.一种配置服务器,其特征在于,应用于对应用程序修改日志级别的场景,所述配置服务器用于向设置在分布式服务器上且指定的日志级别调整模块发送调整指定应用程序的日志级别的请求,以使所述日志级别调整模块请求从所述请求中解析出所述指定应用程序的日志级别对应的调整后的配置信息,并将所述调整后的配置信息覆盖本地加载的日志级别配置信息,以调整所述指定应用程序的日志级别;
所述配置服务器发送的请求包含目标分布式服务器的IP地址信息;所述指定的日志级别调整模块为所述IP地址信息对应的分布式服务器上的日志级别调整模块;
所述日志级别调整模块能够与所述配置服务器直接通信;
其中,所述配置服务器还用于动态存储指定应用程序的日志级别信息,以使所述日志级别调整模块在本地分布式服务器启动时,从所述配置服务器中拉取指定应用程序最新的日志级别信息。
11.一种分布式服务器,其特征在于,应用于对应用程序修改日志级别的场景,每个所述分布式服务器上均设置有日志级别调整模块,所述日志级别调整模块用于接收配置服务器发送的请求,从所述请求中解析出指定应用程序的日志级别对应的调整后的配置信息,将所述调整后的配置信息覆盖本地加载的日志级别配置信息,以调整所述指定应用程序的日志级别;
所述配置服务器发送的请求包含指定的日志级别调整模块所在的目标分布式服务器的IP地址信息;所述指定的日志级别调整模块为所述IP地址信息对应的分布式服务器上的日志级别调整模块;
所述日志级别调整模块能够与所述配置服务器直接通信;
其中,所述日志级别调整模块还用于在本地分布式服务器启动时,从所述配置服务器中拉取指定应用程序最新的日志级别信息。
12.一种动态调整日志级别的方法,其特征在于,应用于对应用程序修改日志级别的场景,包括:
配置服务器向指定的分布式服务器上的日志级别调整模块发送调整指定应用程序的日志级别的请求;所述配置服务器发送的请求包含目标分布式服务器的IP地址信息;所述指定的日志级别调整模块为所述IP地址信息对应的分布式服务器上的日志级别调整模块;
所述指定的日志级别调整模块接收所述配置服务器发送的请求,从所述请求中解析出所述指定应用程序的日志级别对应的调整后的配置信息,将所述调整后的配置信息覆盖本地加载的日志级别配置信息,以调整所述指定应用程序的日志级别;所述指定的日志级别调整模块能够与所述配置服务器直接通信;
其中,所述方法还包括:
所述配置服务器动态存储指定应用程序的日志级别信息;
所述指定的日志级别调整模块在本地分布式服务器启动时,从所述配置服务器中拉取指定应用程序最新的日志级别信息。
13.根据权利要求12所述的动态调整日志级别的方法,其特征在于,所述配置服务器向指定的分布式服务器上的日志级别调整模块发送调整指定应用程序的日志级别的请求,包括:
配置服务器确定待调整的应用程序及获取所述应用程序调整后的日志级别信息和待接收请求的分布式服务器的IP地址信息;
配置服务器根据获取的信息向所述IP地址信息对应的分布式服务器上的日志级别调整模块发送调整所述应用程序的日志级别的请求;
所述日志级别调整模块接收所述配置服务器发送的请求,并根据所述请求调整对应的分布式服务器上指定应用程序的日志级别,包括:
所述日志级别调整模块的日志级别调整接收单元接收所述配置服务器发送的请求从所述请求中解析出指定应用程序的日志级别调整后的配置信息;
所述日志级别调整模块的日志级别调整单元接收所述配置信息,并根据所述配置信息调整所述指定应用程序的日志级别。
14.根据权利要求13所述的动态调整日志级别的方法,其特征在于,还包括:
所述配置服务器将指定应用程序最新的日志级别信息存储到存储模块中;
所述日志级别调整接收单元在本地服务器启动时,从所述配置服务器获取指定应用程序最新的日志级别信息,根据获取的信息向日志级别调整单元发送指定应用程序的日志级别调整后的配置信息。
15.根据权利要求14所述的动态调整日志级别的方法,其特征在于,所述日志级别调整接收单元在本地服务器启动时,从所述配置服务器获取指定应用程序最新的日志级别信息,根据获取的信息向日志级别调整单元发送指定应用程序的日志级别调整后的配置信息,包括:
所述日志级别调整接收单元在本地服务器启动时,从本地服务器中获取应用程序的日志级别信息;
所述日志级别调整接收单元向所述配置服务器请求所述应用程序的日志级别信息;
所述配置服务器根据所述日志级别调整接收单元发送的请求,从所述存储模块中查找所述应用程序最新的日志级别信息,将查找到的信息发送给所述日志级别调整接收单元;
所述日志级别调整接收单元对本地服务器中的应用程序的日志级别信息和配置服务器发送的应用程序最新的日志级别信息进行比较,根据本地服务器中的应用程序的日志级别信息和配置服务器发送的应用程序最新的日志级别信息的差异生成与所述差异对应的应用程序的日志级别调整后的配置信息,并将所述应用程序的日志级别调整后的配置信息发送给所述日志级别调整单元。
16.一种计算机可读存储介质,其上存储有计算机软件,其特征在于,该软件包括若干指令,所述若干指令被执行时执行如权利要求12-15中任一所述的动态调整日志级别的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610892121.0A CN107947954B (zh) | 2016-10-12 | 2016-10-12 | 动态调整日志级别的系统、方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610892121.0A CN107947954B (zh) | 2016-10-12 | 2016-10-12 | 动态调整日志级别的系统、方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107947954A CN107947954A (zh) | 2018-04-20 |
CN107947954B true CN107947954B (zh) | 2020-01-31 |
Family
ID=61928868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610892121.0A Active CN107947954B (zh) | 2016-10-12 | 2016-10-12 | 动态调整日志级别的系统、方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107947954B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897659B (zh) * | 2018-06-06 | 2021-10-15 | 腾讯音乐娱乐科技(深圳)有限公司 | 修改日志级别的方法、装置及存储介质 |
CN108846070A (zh) * | 2018-06-07 | 2018-11-20 | 北京京东尚科信息技术有限公司 | 分布式系统的日志处理方法、系统、电子设备和存储介质 |
CN109165147A (zh) * | 2018-08-10 | 2019-01-08 | 北京奇艺世纪科技有限公司 | 日志打印控制方法、装置、系统、后端服务器及前端设备 |
CN110058935B (zh) * | 2019-04-26 | 2022-07-22 | 广州方硅信息技术有限公司 | 日志级别调整方法、装置及系统、可读存储介质 |
CN110351126A (zh) * | 2019-06-26 | 2019-10-18 | 中信百信银行股份有限公司 | 日志级别调整方法、装置及电子设备 |
CN111046009B (zh) * | 2019-11-11 | 2023-11-21 | 杭州迪普科技股份有限公司 | 日志存储方法及装置 |
CN111182066A (zh) * | 2019-12-31 | 2020-05-19 | 青梧桐有限责任公司 | 基于token认证的日志级别动态调整方法 |
CN111966643B (zh) * | 2020-09-18 | 2023-05-05 | 成都精灵云科技有限公司 | 根据log资源动态调整日志等级的系统及其方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657255A (zh) * | 2013-11-25 | 2015-05-27 | 国际商业机器公司 | 用于监控信息技术系统的计算机实现的方法和系统 |
CN105389350A (zh) * | 2015-10-28 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统元数据信息获取方法 |
CN105843822A (zh) * | 2015-01-16 | 2016-08-10 | 北京神州泰岳软件股份有限公司 | 一种修改日志级别的方法和装置 |
CN105933163A (zh) * | 2016-06-24 | 2016-09-07 | 微梦创科网络科技(中国)有限公司 | 一种实时分布式调试跟踪方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065764A1 (en) * | 2001-09-26 | 2003-04-03 | Karen Capers | Integrated diagnostic center |
-
2016
- 2016-10-12 CN CN201610892121.0A patent/CN107947954B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657255A (zh) * | 2013-11-25 | 2015-05-27 | 国际商业机器公司 | 用于监控信息技术系统的计算机实现的方法和系统 |
CN105843822A (zh) * | 2015-01-16 | 2016-08-10 | 北京神州泰岳软件股份有限公司 | 一种修改日志级别的方法和装置 |
CN105389350A (zh) * | 2015-10-28 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统元数据信息获取方法 |
CN105933163A (zh) * | 2016-06-24 | 2016-09-07 | 微梦创科网络科技(中国)有限公司 | 一种实时分布式调试跟踪方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107947954A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107947954B (zh) | 动态调整日志级别的系统、方法及服务器 | |
EP3229148B1 (en) | Website access method and device, and website system | |
US10496605B2 (en) | Application deployment for data intake and query system | |
CN102694861B (zh) | 一种基于云技术的终端应用软件分类方法、装置及系统 | |
US9444899B2 (en) | Use of internet information services logging to collect user information in an asynchronous manner | |
CN112148674B (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
US11057289B2 (en) | Mobile application identification in network traffic via a search engine approach | |
US9473369B2 (en) | Application topology based on network traffic | |
CN107534647A (zh) | 安全且可靠地传送启动脚本 | |
CN105262608B (zh) | 用于网络服务的监控方法和装置 | |
CN109885744B (zh) | 网页数据爬取方法、装置、系统、计算机设备及存储介质 | |
US20100235493A1 (en) | Extendable distributed network management system and method | |
US20150082286A1 (en) | Real-time code instrumentation | |
CN104283723A (zh) | 网络访问日志处理方法及装置 | |
CN111200523B (zh) | 中台系统配置方法、装置、设备及存储介质 | |
CN105022832A (zh) | App应用程序安全下载的方法、移动终端及下载服务器 | |
WO2016145009A1 (en) | Method and system for rapid deployment and execution of customized functionality across multiple distinct platforms | |
WO2022179353A1 (zh) | 域名解析方法、装置及计算机设备 | |
EP2835774A1 (en) | A method and device for executing an enterprise process | |
CN104823410A (zh) | 参数设定系统 | |
CN107147497A (zh) | 信息处理方法和装置 | |
CN110417597A (zh) | 用于监控证书的方法及装置、电子设备和可读存储介质 | |
US11652849B2 (en) | Identifying recommended feature sets based on application feature popularity | |
CN114745260B (zh) | 内容分发网络的计算力增强方法、装置、设备及存储介质 | |
CN112217852A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |