CN108804295A - 日志信息记录方法和装置 - Google Patents
日志信息记录方法和装置 Download PDFInfo
- Publication number
- CN108804295A CN108804295A CN201710299282.3A CN201710299282A CN108804295A CN 108804295 A CN108804295 A CN 108804295A CN 201710299282 A CN201710299282 A CN 201710299282A CN 108804295 A CN108804295 A CN 108804295A
- Authority
- CN
- China
- Prior art keywords
- log information
- daily record
- buffering queue
- size
- queue
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
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)
- Debugging And Monitoring (AREA)
Abstract
本公开的实施例公开了一种用于动态地改变日志级别的方法,包括:接收日志级别变更请求;对日志级别变更请求进行解析以获得新的日志级别;以及用新的日志级别更新日志配置文件和内存中的日志级别信息。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种用于动态地改变日志级别的方法和装置以及一种用于基于多于一个缓冲队列对日志信息进行记录的方法和装置。
背景技术
日志对于应用***而言非常重要,这是因为日志可以记录应用***的异常情况,跟踪用户的操作路径,帮助研发人员排查线上问题等等。基于日志的实现方案也多种多样,但是这些实现方案有一个共同的特点,即对应用***本身的性能有不同程度的影响。为了减小对应用***的性能的影响,最常用的方法是将日志级别设置得更高,从而使记录的日志内容变少,进而降低对应用***的性能的影响。但是对于复杂的线上问题,又必须根据日志对问题进行分析和排除。如何在记录更详细的日志以更好地帮助研发人员排查线上问题同时减小对性能的影响是需要解决的技术问题。
当前最为常见的解决方案就是当***正式上线时,把日志级别设置更高,记录的日志内容相对较少,对***性能影响较小,当线上***出现异常情况,需要排查时,修改日志配置文件,降低日志级别,然后重启***,以从配置文件中加载日志级别并存储在内存中。根据详细的日志内容,跟踪排查线上问题。
日志级别通常包括六个级别,分别为trace、debug、info、warn、error和fatal。一般地,日志级别的顺序从低至高被设置为trace<debug<info<warn<error<fatal。例如,当***上线时,把日志级别设置为info,当线上***出现异常时,操作步骤如下:将日志配置文件中的日志级别修改为debug(日志级别越低,日志记录越详细);重启***,重新加载日志配置文件中的日志级别信息;记录debug及以上级别(包括info、warn、error和fatal)的日志信息;等待线上***问题重现;根据日志信息分析***异常的根本原因。
但是,在实现本发明过程中,发明人发现这种解决方案至少存在以下技术缺点:在降低日志级别之后,记录的日志内容较多,对***处理正常的业务流程性能影响较大;并且在变更日志级别之后,需要重启***,使得日志内容不连续,在***重启过程中失去了对线上异常情况的跟踪(有些异常情况在***重启之后就很难复现)。
发明内容
有鉴于此,本公开提供了一种用于动态地改变日志级别的方法和装置以及一种用于基于多于一个缓冲队列对日志信息进行记录的方法和装置。
本公开的一个方面提供了一种用于动态地改变日志级别的方法,包括:接收日志级别变更请求;对所述日志级别变更请求进行解析以获得新的日志级别;以及用所述新的日志级别更新日志配置文件和内存中的日志级别信息。
根据本公开的实施例,所述日志级别变更请求是从应用管理***接收到的。
本公开的另一方面提供了一种用于基于多于一个缓冲队列对日志信息进行记录的方法,包括:调用日志接口以获取与作为写入队列的缓冲队列有关的信息;以及根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较,来记录所述日志信息。
根据本公开的实施例,根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较来记录所述日志信息包括:当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述写入队列切换为另一缓冲队列,并且将所述日志信息写入所述另一缓冲队列。
根据本公开的实施例,根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较来记录所述日志信息包括:当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述缓冲队列中的日志信息写入磁盘。
根据本公开的实施例,根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较来记录所述日志信息包括:当所述缓冲队列中的剩余空间大小大于所述日志信息的大小时,将所述日志信息写入所述缓冲队列。
本公开的另一方面提供了一种用于动态地改变日志级别的装置,包括:接收模块、解析模块和更新模块。接收模块被配置为接收日志级别变更请求。解析模块被配置为对所述日志级别变更请求进行解析以获得新的日志级别。更新模块被配置为用所述新的日志级别更新日志配置文件和内存中的日志级别信息。
根据本公开的实施例,所述日志级别变更请求是从应用管理***接收到的。
本公开的另一方面提供了一种用于基于多于一个缓冲队列对日志信息进行记录的装置,包括:调用模块和记录模块。调用模块被配置为调用日志接口以获取与作为写入队列的缓冲队列有关的信息。记录模块被配置为根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较,来记录所述日志信息。
根据本公开的实施例,所述记录模块被进一步配置为:当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述写入队列切换为另一缓冲队列,并且将所述日志信息写入所述另一缓冲队列。
根据本公开的实施例,所述记录模块被进一步配置为:当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述缓冲队列中的日志信息写入磁盘。
根据本公开的实施例,所述记录模块被进一步配置为:当所述缓冲队列中的剩余空间大小大于所述日志信息的大小时,将所述日志信息写入所述缓冲队列。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种用于动态地改变日志级别的服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种用于基于多于一个缓冲队列对日志信息进行记录的服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的方法。
根据本公开的实施例,通过动态地改变日志级别,特别是改变内存中的日志级别,可以至少部分地解决需要重启***使得日志内容不连续的问题,并因此可以实现在将应用***的日志级别变更之后无需进行重启就使日志级别的变更立即生效,并且不影响对线上***的问题跟踪的技术效果。
此外,根据本公开的实施例,通过基于多于一个缓冲队列对日志信息进行记录,可以至少部分地解决记录的日志内容较多因而对***处理正常的业务流程的性能影响较大的问题,并因此可以实现降低记录的日志对***性能的影响的技术效果。
另外,根据本公开的实施例,通过异步地将日志信息写入磁盘,可以进一步实现降低记录的日志对***性能的影响的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的在应用***处用于动态地改变日志级别的方法100的流程图;
图2示意性示出了根据本公开实施例的在应用***处用于基于多于一个缓冲队列对日志信息进行记录的方法200的流程图;
图3示意性示出了根据本公开实施例的在应用***处用于动态地改变日志级别的装置300的框图;
图4示意性示出了根据本公开实施例的在应用***处用于基于多于一个缓冲队列对日志信息进行记录的装置400的框图;
图5示意性示出了根据本公开实施例的应用管理***500的框图;
图6示出了可以应用本公开实施例的用于动态地改变日志级别的方法和装置以及用于基于多于一个缓冲队列对日志信息进行记录的方法和装置的示例性***架构600;以及
图7示出了适于用来实现本公开实施例的终端设备的计算机***700的结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
图1示意性示出了根据本公开的实施例的在应用***处用于动态地改变日志级别的方法100的流程图。
如图1所示,该方法包括在操作S101,接收日志级别变更请求。该日志级别变更请求可以是从应用管理***接收到的。例如,当用户发现出现应用***的性能下降、内存消耗过大等异常情况时,用户可以通过应用管理***中的配置变更模块发送日志级别变更请求(例如,以HTTP请求的方式)。该日志级别变更请求中可以包括需要变更到的新的日志级别。
然后,在操作S102,对日志级别变更请求进行解析以获得新的日志级别。
在操作S103,用新的日志级别更新日志配置文件和内存中的日志级别信息。日志配置文件可以存储与日志信息相关的配置信息,包括日志级别、存储日志的文件目录、文件名、日志格式、缓冲队列的大小(例如,1M)等。
在操作S104,向应用管理***返回日志级别变更结果。该日志级别变更结果可以包括日志级别变更成功和日志级别变更失败。在应用管理***接收到该日志级别变更结果之后,可以将该日志级别变更结果存储在数据库中。
根据本公开的实施例,通过动态地改变日志级别,特别是改变内存中的日志级别,可以至少部分地解决需要重启***使得日志内容不连续的问题,并因此可以实现在将应用***的日志级别变更之后无需进行重启就使日志级别的变更立即生效,并且不影响对线上***的问题跟踪的技术效果。
图2示意性示出了根据本公开的实施例的在应用***处用于基于多于一个缓冲队列对日志信息进行记录的方法200的流程图。
如图2所示,该方法包括在操作S201,从用户接收日志信息请求,该日志信息请求中包括要记录其日志信息的业务。
在操作S202,对该日志信息请求进行分析以获取要记录其日志信息的业务,并且获取在处理该业务的过程中的日志信息(例如,异常情况、操作路径等)。该日志信息可以与特定的日志级别相对应。例如,可以预先设置日志信息与日志级别之间的映射关系。
在操作S203,从日志配置文件中读取日志级别。
在操作S204,根据读取的日志级别和获取的日志信息的日志级别来确定是否对该日志信息进行记录。仅当日志配置文件中的日志级别小于获取的日志信息的日志级别时,才可以记录该日志信息。当确定不需要对日志信息进行记录时,该过程结束。
在操作S205,当确定需要对日志信息进行记录时,调用日志接口以获取缓冲区中与作为写入队列的缓冲队列有关的信息。缓冲区可以包括多个缓冲队列,其中每一个缓冲队列都可以作为用于写入日志信息的写入队列。
然后,在操作S206,根据获取的缓冲队列中的剩余空间大小与日志信息的大小的比较,来记录日志信息。
具体地,当缓冲队列中的剩余空间大小小于日志信息的大小时,可以将写入队列切换为另一缓冲队列,并且将日志信息写入另一缓冲队列。此外,当缓冲队列中的剩余空间大小小于日志信息的大小时,还可以将缓冲队列中的日志信息写入磁盘,从而供用户进行调用和分析。磁盘中可以包括日志文件,该日志文件的大小可以是固定的,例如500M,但是本公开不限于此。当磁盘中的日志文件的剩余空间大小大于缓冲队列中的日志信息的大小时,可以将日志信息写入日志文件中。当磁盘中的日志文件的剩余空间大小小于缓冲队列中的日志信息的大小时,可以在磁盘中创建新的日志文件,并将日志信息写入新创建的日志文件中。应当清楚的是,可以以批量的方式将将缓冲队列中的日志信息写入磁盘中。例如,可以将缓冲队列中的预定数量(例如,50)的日志信息写入磁盘中。可以循环地执行该批量写入操作,直到缓冲队列中的日志信息都被写入磁盘中为止。
当缓冲队列中的剩余空间大小大于日志信息的大小时,可以将日志信息写入该缓冲队列。
根据本公开的实施例,通过基于多于一个缓冲队列对日志信息进行记录,可以至少部分地解决记录的日志内容较多因而对***处理正常的业务流程的性能影响较大的问题,并因此可以实现降低记录的日志对***性能的影响的技术效果。
另外,根据本公开的实施例,通过异步地将日志信息写入磁盘,可以进一步实现降低记录的日志对***性能的影响的技术效果。
图3示意性示出了根据本公开实施例的在应用***处用于动态地改变日志级别的装置300的框图。
如图3所示,装置300可以包括接收模块310、解析模块320、和更新模块330。
接收模块310可以用于接收日志级别变更请求。该日志级别变更请求可以是从应用管理***接收到的。例如,当用户发现应用***的性能下降、内存消耗过大等时,用户可以通过应用管理***中的配置变更模块发送日志级别变更请求(例如,以HTTP请求的方式)。该日志级别变更请求中可以包括需要变更到的日志级别。
解析模块320可以用于对日志级别变更请求进行解析以获得新的日志级别。
更新模块330可以用于用新的日志级别更新日志配置文件和内存中的日志级别信息。日志配置文件可以存储与日志信息相关的配置信息,包括日志级别、存储日志的文件目录、文件名、日志格式、缓冲队列的大小(例如,1M)等。
此外,装置300还可以包括发送模块。该发送模块用于向应用管理***返回日志级别变更结果。该日志级别变更结果可以包括日志级别变更成功和日志级别变更失败。在应用管理***接收到该日志级别变更结果之后,可以将该日志级别变更结果存储在数据库中。
根据本公开的实施例,通过动态地改变日志级别,可以至少部分地解决需要重启***使得日志内容不连续的问题,并因此可以实现在将应用***的日志级别变更之后无需进行重启就使日志级别的变更立即生效,并且不影响对线上***的问题跟踪的技术效果。
图4示意性示出了根据本公开实施例的在应用***处用于基于多于一个缓冲队列对日志信息进行记录的装置400的框图。
如图4所示,装置400可以包括调用模块410和记录模块420。
调用模块410可以用于调用日志接口以获取缓冲区中与作为写入队列的缓冲队列有关的信息。缓冲区可以包括多个缓冲队列,其中每一个缓冲队列都可以作为用于写入日志信息的写入队列。
记录模块420可以用于根据获取的缓冲队列中的剩余空间大小与日志信息的大小的比较,来记录日志信息。
记录模块420可以还用于当缓冲队列中的剩余空间大小小于日志信息的大小时,将写入队列切换为另一缓冲队列,并且将日志信息写入另一缓冲队列。此外,记录模块420还可以用于当缓冲队列中的剩余空间大小小于日志信息的大小时,将缓冲队列中的日志信息写入磁盘。磁盘中可以包括日志文件,该日志文件的大小可以是固定的,例如500M,但是本公开不限于此。记录模块420还可以用于当磁盘中的日志文件的剩余空间大小大于缓冲队列中的日志信息的大小时,将日志信息写入日志文件中。记录模块420还可以用于当磁盘中的日志文件的剩余空间大小小于缓冲队列中的日志信息的大小时,在磁盘中创建新的日志文件,并将日志信息写入新创建的日志文件中。应当清楚的是,可以以批量的方式将将缓冲队列中的日志信息写入磁盘中。例如,可以将缓冲队列中的预定数量(例如,50)的日志信息写入磁盘中。可以循环地执行该批量写入操作,直到缓冲队列中的日志信息都被写入磁盘中为止。
记录模块420还可以用于当缓冲队列中的剩余空间大小大于日志信息的大小时,将日志信息写入缓冲队列。
装置400还可以包括应用层、分析模块、读取模块和确定模块。
应用层可以用于从用户接收业务处理请求,根据业务处理请求对业务进行处理,并返回业务处理结果。此外,应用层还可以用于从用户接收日志信息请求,该日志信息请求中包括要记录其日志信息的业务。
分析模块可以用于对该日志信息请求进行分析以获取要记录其日志信息的业务,并且获取在处理该业务的过程中的日志信息(例如,异常情况、操作路径等)。该日志信息可以与特定的日志级别相对应。例如,可以预先设置日志信息与日志级别之间的映射关系。
读取模块可以用于从日志配置文件中读取日志级别。
确定模块可以用于根据读取的日志级别和获取的日志信息的日志级别来确定是否对该日志信息进行记录。仅当日志配置文件中的日志级别小于获取的日志信息的日志级别时,才可以记录该日志信息。当确定需要对日志信息进行记录时,确定模块可以指示调用模块410执行相关操作。
根据本公开的实施例,通过基于多于一个缓冲队列对日志信息进行记录,可以至少部分地解决记录的日志内容较多因而对***处理正常的业务流程的性能影响较大的问题,并因此可以实现降低记录的日志对***性能的影响的技术效果。
另外,根据本公开的实施例,通过异步地将日志信息写入磁盘,可以进一步实现降低记录的日志对***性能的影响的技术效果。
图5示意性示出了根据本公开实施例的应用管理***500的框图。
如图5所示,应用管理***500可以包括应用管理模块510、日志级别变更模块520和数据库530。
应用管理模块510可以用于对应用***进行管理和维护,维护的信息包括应用***的名称、负责人、与应用***相对应的IP地址和服务端口的列表等。
日志级别变更模块520可以用于根据用户请求向应用***发送日志级别变更请求,以便动态地变更应用***的日志级别。由于在分布式***中一个应用***可以对应于多台机器,因此需要根据应用***的IP地址和服务端口来确定相应的应用***。具体地,日志级别变更模块520可以根据用户请求中包括的关于应用***的信息从数据库530获取应用***的IP地址和服务端口,并且根据所获取的IP地址和服务端口访问应用***提供的接口或URL,以将日志级别变更请求信息发送给应用***。
数据库530可以用于存储应用管理***500的数据信息,例如应用管理***500的用户信息、维护的应用***的信息等。
根据本公开的实施例,用户可以利用应用管理***发起日志级别变更请求,以通过动态地改变日志级别,至少部分地解决需要重启***使得日志内容不连续的问题,并因此可以实现在将应用***的日志级别变更之后无需进行重启就使日志级别的变更立即生效,并且不影响对线上***的问题跟踪的技术效果。
图6示出了可以应用本本公开实施例的用于动态地改变日志级别的方法和装置以及用于基于多于一个缓冲队列对日志信息进行记录的方法和装置的示例性***架构600。
如图6所示,***架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本申请实施例所提供的用于动态地改变日志级别的方法和以及用于基于多于一个缓冲队列对日志信息进行记录的方法一般由服务器605执行,相应地,用于动态地改变日志级别的装置以及用于基于多于一个缓冲队列对日志信息进行记录的装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本公开实施例的终端设备的计算机***700的结构示意图。图7示出的计算机***仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,计算机***700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有***700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本公开的***中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行根据本本公开实施例的用于动态地改变日志级别的方法以及用于基于多于一个缓冲队列对日志信息进行记录的方法。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (16)
1.一种用于动态地改变日志级别的方法,包括:
接收日志级别变更请求;
对所述日志级别变更请求进行解析以获得新的日志级别;以及
用所述新的日志级别更新日志配置文件和内存中的日志级别信息。
2.根据权利要求1所述的方法,其中,所述日志级别变更请求是从应用管理***接收到的。
3.一种用于基于多于一个缓冲队列对日志信息进行记录的方法,包括:
调用日志接口以获取与作为写入队列的缓冲队列有关的信息;以及
根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较,来记录所述日志信息。
4.根据权利要求3所述的方法,其中,根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较来记录所述日志信息包括:
当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述写入队列切换为另一缓冲队列,并且将所述日志信息写入所述另一缓冲队列。
5.根据权利要求4所述的方法,其中,根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较来记录所述日志信息包括:
当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述缓冲队列中的日志信息写入磁盘。
6.根据权利要求3所述的方法,其中,根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较来记录所述日志信息包括:
当所述缓冲队列中的剩余空间大小大于所述日志信息的大小时,将所述日志信息写入所述缓冲队列。
7.一种用于动态地改变日志级别的装置,包括:
接收模块,被配置为接收日志级别变更请求;
解析模块,被配置为对所述日志级别变更请求进行解析以获得新的日志级别;以及
更新模块,被配置为用所述新的日志级别更新日志配置文件和内存中的日志级别信息。
8.根据权利要求7所述的装置,其中,所述日志级别变更请求是从应用管理***接收到的。
9.一种用于基于多于一个缓冲队列对日志信息进行记录的装置,包括:
调用模块,被配置为调用日志接口以获取与作为写入队列的缓冲队列有关的信息;以及
记录模块,被配置为根据所述缓冲队列中的剩余空间大小与所述日志信息的大小的比较,来记录所述日志信息。
10.根据权利要求9所述的装置,其中,所述记录模块被进一步配置为:
当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述写入队列切换为另一缓冲队列,并且将所述日志信息写入所述另一缓冲队列。
11.根据权利要求10所述的装置,其中,所述记录模块被进一步配置为:
当所述缓冲队列中的剩余空间大小小于所述日志信息的大小时,将所述缓冲队列中的日志信息写入磁盘。
12.根据权利要求9所述的装置,其中,所述记录模块被进一步配置为:
当所述缓冲队列中的剩余空间大小大于所述日志信息的大小时,将所述日志信息写入所述缓冲队列。
13.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行权利要求1或2所述的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行权利要求3至6中任一项所述的方法。
15.一种用于动态地改变日志级别的服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1或2所述的方法。
16.一种用于基于多于一个缓冲队列对日志信息进行记录的服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求3至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710299282.3A CN108804295A (zh) | 2017-04-28 | 2017-04-28 | 日志信息记录方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710299282.3A CN108804295A (zh) | 2017-04-28 | 2017-04-28 | 日志信息记录方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108804295A true CN108804295A (zh) | 2018-11-13 |
Family
ID=64053938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710299282.3A Pending CN108804295A (zh) | 2017-04-28 | 2017-04-28 | 日志信息记录方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804295A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857715A (zh) * | 2019-01-23 | 2019-06-07 | 安徽省鼎众金融信息咨询服务有限公司 | 一种强化错误排查支持的日志记录方法和*** |
CN110083509A (zh) * | 2019-04-30 | 2019-08-02 | 新华三信息安全技术有限公司 | 一种日志数据的规整方法及装置 |
CN111182066A (zh) * | 2019-12-31 | 2020-05-19 | 青梧桐有限责任公司 | 基于token认证的日志级别动态调整方法 |
CN112783903A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 生成更新日志的方法和装置 |
WO2023216042A1 (zh) * | 2022-05-08 | 2023-11-16 | Oppo广东移动通信有限公司 | 事件管理方法、装置、设备、存储介质及程序产品 |
CN117295118A (zh) * | 2023-10-08 | 2023-12-26 | 广州市玄武无线科技股份有限公司 | 一种稳定性强且短信数据缓冲及流量控制的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447633A (zh) * | 2011-12-29 | 2012-05-09 | 北京亿赞普网络技术有限公司 | 一种日志传输的方法和*** |
CN103064779A (zh) * | 2012-12-26 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种快速处理日志信息的方法 |
CN103176888A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种日志记录的方法和*** |
CN103309767A (zh) * | 2012-03-08 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种客户端日志处理方法和装置 |
CN103885726A (zh) * | 2014-03-20 | 2014-06-25 | 东蓝数码股份有限公司 | 一种高效的多线程日志写入方法 |
CN105119752A (zh) * | 2015-09-08 | 2015-12-02 | 北京京东尚科信息技术有限公司 | 一种分布式日志采集方法、装置及*** |
CN105183626A (zh) * | 2015-09-30 | 2015-12-23 | 深圳怡化电脑股份有限公司 | 一种纸币识别模块的日志存储方法及*** |
CN105843822A (zh) * | 2015-01-16 | 2016-08-10 | 北京神州泰岳软件股份有限公司 | 一种修改日志级别的方法和装置 |
-
2017
- 2017-04-28 CN CN201710299282.3A patent/CN108804295A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176888A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种日志记录的方法和*** |
CN102447633A (zh) * | 2011-12-29 | 2012-05-09 | 北京亿赞普网络技术有限公司 | 一种日志传输的方法和*** |
CN103309767A (zh) * | 2012-03-08 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种客户端日志处理方法和装置 |
CN103064779A (zh) * | 2012-12-26 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种快速处理日志信息的方法 |
CN103885726A (zh) * | 2014-03-20 | 2014-06-25 | 东蓝数码股份有限公司 | 一种高效的多线程日志写入方法 |
CN105843822A (zh) * | 2015-01-16 | 2016-08-10 | 北京神州泰岳软件股份有限公司 | 一种修改日志级别的方法和装置 |
CN105119752A (zh) * | 2015-09-08 | 2015-12-02 | 北京京东尚科信息技术有限公司 | 一种分布式日志采集方法、装置及*** |
CN105183626A (zh) * | 2015-09-30 | 2015-12-23 | 深圳怡化电脑股份有限公司 | 一种纸币识别模块的日志存储方法及*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857715A (zh) * | 2019-01-23 | 2019-06-07 | 安徽省鼎众金融信息咨询服务有限公司 | 一种强化错误排查支持的日志记录方法和*** |
CN110083509A (zh) * | 2019-04-30 | 2019-08-02 | 新华三信息安全技术有限公司 | 一种日志数据的规整方法及装置 |
CN110083509B (zh) * | 2019-04-30 | 2022-09-20 | 新华三信息安全技术有限公司 | 一种日志数据的规整方法及装置 |
CN112783903A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 生成更新日志的方法和装置 |
CN112783903B (zh) * | 2019-11-07 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 生成更新日志的方法和装置 |
CN111182066A (zh) * | 2019-12-31 | 2020-05-19 | 青梧桐有限责任公司 | 基于token认证的日志级别动态调整方法 |
WO2023216042A1 (zh) * | 2022-05-08 | 2023-11-16 | Oppo广东移动通信有限公司 | 事件管理方法、装置、设备、存储介质及程序产品 |
CN117295118A (zh) * | 2023-10-08 | 2023-12-26 | 广州市玄武无线科技股份有限公司 | 一种稳定性强且短信数据缓冲及流量控制的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804295A (zh) | 日志信息记录方法和装置 | |
CN110096344A (zh) | 任务管理方法、***、服务器集群和计算机可读介质 | |
CN108520454A (zh) | 实时回调订单的方法和*** | |
CN109683998A (zh) | 国际化实现方法、装置和*** | |
CN110019125A (zh) | 数据库管理的方法和装置 | |
CN107844324A (zh) | 客户端页面跳转处理方法和装置 | |
US20210240784A1 (en) | Method, apparatus and storage medium for searching blockchain data | |
CN111190888A (zh) | 一种管理图数据库集群的方法和装置 | |
US20210357461A1 (en) | Method, apparatus and storage medium for searching blockchain data | |
CN111597065B (zh) | 用于采集设备信息的方法和装置 | |
CN111125107A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN110427304A (zh) | 用于银行***的运维方法、装置、电子设备以及介质 | |
CN109992406A (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
CN110019263A (zh) | 信息存储方法和装置 | |
CN102043645A (zh) | 一种加载插件的方法及装置 | |
CN109218041A (zh) | 用于服务器***的请求处理方法和装置 | |
CN108549586A (zh) | 信息处理方法和装置 | |
CN108667660A (zh) | 路由管理和业务路由的方法和装置及路由*** | |
CN107656999B (zh) | 呼叫历史追溯方法、装置、电子设备、存储介质 | |
CN110489158A (zh) | 对代码托管平台进行优化的方法、装置、介质和电子设备 | |
US20080046543A1 (en) | System and method for automatically obtaining web feed content | |
CN110866031B (zh) | 数据库访问路径的优化方法、装置、计算设备以及介质 | |
WO2020024902A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN115496544A (zh) | 一种数据处理的方法和装置 | |
CN109710604A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181113 |
|
RJ01 | Rejection of invention patent application after publication |