CN111177097B - 一种日志收集方法、装置、设备及计算机可读存储介质 - Google Patents

一种日志收集方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111177097B
CN111177097B CN201911285989.4A CN201911285989A CN111177097B CN 111177097 B CN111177097 B CN 111177097B CN 201911285989 A CN201911285989 A CN 201911285989A CN 111177097 B CN111177097 B CN 111177097B
Authority
CN
China
Prior art keywords
log
thread
printing
collection
call
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
Application number
CN201911285989.4A
Other languages
English (en)
Other versions
CN111177097A (zh
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 Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data 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 Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201911285989.4A priority Critical patent/CN111177097B/zh
Publication of CN111177097A publication Critical patent/CN111177097A/zh
Application granted granted Critical
Publication of CN111177097B publication Critical patent/CN111177097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志收集方法,包括:当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;当确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,先启动日志打印线程调用日志框架接口进行日志打印,后启动日志收集线程调用日志框架接口进行日志收集;否则,先启动日志收集线程调用日志框架接口进行日志收集,后启动日志打印线程调用日志框架接口进行日志打印。本发明较大地降低了日志写入阻塞的概率,提高了日志收集效率,较大地释放了应用程序内存,提高了应用程序的运行速度。本发明还公开了一种日志收集装置、设备及存储介质,具有相应技术效果。

Description

一种日志收集方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种日志收集方法、装置、设备及计算机可读存储介质。
背景技术
所谓日志(Log)是指系统所指定对象的某些操作和其操作结果按时间有序的集合。每条日志记录描述了一次单独的系统事件,日志为服务器、工作站、防火墙和应用软件等IT资源相关活动记录必要的、有价值的信息,这对系统监控、查询、报表和安全审计是十分重要的。因此,需要做好日志的收集工作。
目前,应用程序日志收集的普遍做法是从日志文件中收集日志,在日志收集过程中需要对日志文件进行大量的操作,影响日志写入日志文件的写入效率,导致日志写入阻塞,特别是日志写入频率很高时尤为明显,且日志收集效率低,占用大量的应用程序内存,影响应用程序的运行速度。
综上所述,如何有效地解决现有的从日志文件中收集日志的方式易导致日志写入阻塞,日志收集效率低,占用大量的应用程序内存,影响应用程序的运行速度等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种日志收集方法,该方法较大地降低了日志写入阻塞的概率,提高了日志收集效率,较大地释放了应用程序内存,提高了应用程序的运行速度;本发明的另一目的是提供一种日志收集装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种日志收集方法,包括:
当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,所述异步执行线程列表中预存有所述日志打印线程和所述日志收集线程的线程执行优先级;
当确定所述日志打印线程的线程执行优先级高于所述日志收集线程的线程执行优先级时,先启动所述日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动所述日志收集线程调用所述日志框架接口进行日志收集;
当确定所述日志收集线程的线程执行优先级高于所述日志打印线程的线程执行优先级时,先启动所述日志收集线程调用所述日志框架接口进行日志收集,并在检测到日志收集完成后,启动所述日志打印线程调用所述日志框架接口进行日志打印。
在本发明的一种具体实施方式中,在启动日志收集线程调用所述日志框架接口进行日志收集之后,还包括:
调用消息中间件接口将收集到的日志信息发送到消息中间件。
在本发明的一种具体实施方式中,在调用消息中间件接口将收集到的日志信息发送到消息中间件之后,还包括:
对接收到的日志获取请求进行解析,得到日志类型信息;
调取所述日志类型信息对应的处理线程,从所述消息中间件中获取对应的日志信息,以对所述日志信息进行分析。
在本发明的一种具体实施方式中,在调取所述日志类型信息对应的处理线程,从所述消息中间件中调取对应的日志信息,以对所述日志信息进行分析之后,还包括:
对分析完成后的日志进行存储操作,以便进行问题排查。
在本发明的一种具体实施方式中,所述日志框架接口为通过对日志框架的源码包进行修改得到的。
在本发明的一种具体实施方式中,所述日志框架接口为通过对日志框架进行封装得到的。
一种日志收集装置,包括:
优先级读取模块,用于当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,所述异步执行线程列表中预存有所述日志打印线程和所述日志收集线程的线程执行优先级;
第一日志打印及收集模块,用于当确定所述日志打印线程的线程执行优先级高于所述日志收集线程的线程执行优先级时,先启动所述日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动所述日志收集线程调用所述日志框架接口进行日志收集;
第二日志打印及收集模块,用于当确定所述日志收集线程的线程执行优先级高于所述日志打印线程的线程执行优先级时,先启动所述日志收集线程调用所述日志框架接口进行日志收集,并在检测到日志收集完成后,启动所述日志打印线程调用所述日志框架接口进行日志打印。
在本发明的一种具体实施方式中,还包括:
日志发送模块,用于在启动日志收集线程调用所述日志框架接口进行日志收集之后,调用消息中间件接口将收集到的日志信息发送到消息中间件。
一种日志收集设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述日志收集方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述日志收集方法的步骤。
本发明提供了一种日志收集方法:当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,异步执行线程列表中预存有日志打印线程和日志收集线程的线程执行优先级;当确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,先启动日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动日志收集线程调用日志框架接口进行日志收集;当确定日志收集线程的线程执行优先级高于日志打印线程的线程执行优先级时,先启动日志收集线程调用日志框架接口进行日志收集,并在检测到日志收集完成后,启动日志打印线程调用日志框架接口进行日志打印。
通过上述技术方案可知,通过预先设置异步执行线程列表,异步执行线程列表中存储有日志打印线程及日志收集线程两异步执行线程的线程执行优先级,当检测到日志生成时,根据线程执行优先级,通过日志打印线程及日志收集线程依次调取日志框架接口,完成日志打印和日志收集。相较于现有的从日志文件中收集日志的方式,本申请从源头上直接通过异步线程调取日志框架接口完成日志收集,较大地降低了日志写入阻塞的概率,提高了日志收集效率,较大地释放了应用程序内存,提高了应用程序的运行速度。
相应的,本发明实施例还提供了与上述日志收集方法相对应的日志收集装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中日志收集方法的一种实施流程图;
图2为本发明实施例中日志收集方法的另一种实施流程图;
图3为本发明实施例中日志收集方法的另一种实施流程图;
图4为本发明实施例中一种日志收集装置的结构框图;
图5为本发明实施例中一种日志收集设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,图1为本发明实施例中日志收集方法的一种实施流程图,该方法可以包括以下步骤:
S101:当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级。
其中,异步执行线程列表中预存有日志打印线程和日志收集线程的线程执行优先级。
可以预先创建存储有日志打印线程和日志收集线程的线程执行优先级的异步执行线程列表。可以实时或按照预先设定的时间间隔检测是否存在日志生成,当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级。
S102:当确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,先启动日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动日志收集线程调用日志框架接口进行日志收集。
可以预先部署供日志打印线程及日志收集线程调取的日志框架接口,当根据从异步执行线程列表中读取到的日志打印线程及日志收集线程的线程执行优先级,确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,可以先启动日志打印线程调用日志框架接口进行日志打印。在日志打印过程中可以检测日志是否打印完成,当检测到日志打印完成后,启动日志收集线程调用日志框架接口进行日志收集。
S103:当确定日志收集线程的线程执行优先级高于日志打印线程的线程执行优先级时,先启动日志收集线程调用日志框架接口进行日志收集,并在检测到日志收集完成后,启动日志打印线程调用日志框架接口进行日志打印。
当根据从异步执行线程列表中读取到的日志打印线程及日志收集线程的线程执行优先级,确定日志收集线程的线程执行优先级高于日志打印线程的线程执行优先级时,可以先启动日志收集线程调用日志框架接口进行日志收集。在日志收集过程中可以检测日志是否收集完成,在检测到日志收集完成后,启动日志打印线程调用日志框架接口进行日志打印。通过对日志打印线程及日志收集线程进行异步调用,直接在日志产生的源头获取日志,去掉了日志文件操作的步骤,不会阻塞主线程的执行,从而不会影响程序运行效率。
通过上述技术方案可知,通过预先设置异步执行线程列表,异步执行线程列表中存储有日志打印线程及日志收集线程两异步执行线程的线程执行优先级,当检测到日志生成时,根据线程执行优先级,通过日志打印线程及日志收集线程依次调取日志框架接口,完成日志打印和日志收集。相较于现有的从日志文件中收集日志的方式,本申请从源头上直接通过异步线程调取日志框架接口完成日志收集,较大地降低了日志写入阻塞的概率,提高了日志收集效率,较大地释放了应用程序内存,提高了应用程序的运行速度。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
实施例二:
参见图2,图2为本发明实施例中日志收集方法的另一种实施流程图,该方法可以包括以下步骤:
S201:当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级。
其中,异步执行线程列表中预存有日志打印线程和日志收集线程的线程执行优先级。
S202:当确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,先启动日志打印线程调用通过对日志框架的源码包进行修改得到的日志框架接口进行日志打印,并在检测到日志打印完成后,启动日志收集线程调用通过对日志框架的源码包进行修改得到的日志框架接口进行日志收集。
可以预先通过对日志框架的源码包进行修改得到的日志框架接口,以便供日志打印线程及日志收集线程调用后进行相应的日志打印和日志收集操作。对日志框架的源码包进行修改得到的日志框架接口的过程可以包括:以java应用程序为例,打印日志一般会使用log4j日志框架,在log4j日志框架的源码包中多个地方都可以进行修改,在源码包中加入一个日志收集类,该处的修改指的是调用日志收集类,日志收集类是需要自定义实现的类,类的主要方法入参是日志内容,日志内容就是应用程序调用log4j日志框架的接口的传入的参数,可以在log4j的类中获取到,如在logger.debug(),logger.info(),logger.error()等方法中加入修改。
S203:当确定日志收集线程的线程执行优先级高于日志打印线程的线程执行优先级时,先启动日志收集线程调用通过对日志框架的源码包进行修改得到的日志框架接口进行日志收集,并在检测到日志收集完成后,启动日志打印线程调用通过对日志框架的源码包进行修改得到的日志框架接口进行日志打印。
S204:调用消息中间件接口将收集到的日志信息发送到消息中间件。
可以预先部署消息中间件和消息中间件接口,在收集到日志之后,可以调用消息中间件接口将收集到的日志信息发送到消息中间件。消息中间件的作用是作为缓存,因为当日志收集过快时,如果不加入消息中间件,后续日志分析时,会使得日志分析速度减慢,进而会造成I/O阻塞。通过将收集的日志在消息中间件中暂存,日志分析时可以从消息中间件中读取数据,从而充分利用了消息中间件的异步通信功能,提升对日志分析的分析效率,进一步降低发生I/O阻塞的概率。
S205:对接收到的日志获取请求进行解析,得到日志类型信息。
第三方需要获取日志时,可以发起日志获取请求,日志管理中心接收日志获取请求,通过对接收到的日志获取请求进行解析,得到日志类型信息,如debug,info,error等日志类型。
S206:调取日志类型信息对应的处理线程,从消息中间件中获取对应的日志信息,以对日志信息进行分析。
可以预先为不同类型的日志划分不同的处理线程,在解析得到日志获取请求对应的日志类型信息之后,可以调取日志类型信息对应的处理线程,从消息中间件中获取对应的日志信息,从而方便后续对日志信息进行分析。
S207:对分析完成后的日志进行存储操作,以便进行问题排查。
在对日志信息分析完成后,可以对分析完成后的日志进行存储操作,以便进行问题排查。分析完成后的日志可以包括日志获取请求对应的原收集的日志信息,除此之外还可以包括附加的日志分析结果等信息。
实施例三:
参见图3,图3为本发明实施例中日志收集方法的另一种实施流程图,该方法可以包括以下步骤:
S301:当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级。
其中,异步执行线程列表中预存有日志打印线程和日志收集线程的线程执行优先级。
S302:当确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,先启动日志打印线程调用通过对日志框架进行封装得到的日志框架接口进行日志打印,并在检测到日志打印完成后,启动日志收集线程调用通过对日志框架进行封装得到的日志框架接口进行日志收集。
可以预先通过对日志框架进行封装得到的日志框架接口,承接上例,仍以log4j日志框架为例,通过对log4j日志框架一层封装,该封装实现了日志打印接口,如debug(),info(),error()等方法,在封装的方法中调用对应的log4j日志框架的logger.debug(),logger.info(),logger.error()等方法,并在封装的方法中异步调用日志收集类,从而可以不修改log4j日志框架的源码包,就完成对日志框架接口的异步调用,简单易实现。日志框架除log4j日志框架之外还有很多种,针对其他日志框架,处理思路可以参照log4j日志框架的处理思路。
S303:当确定日志收集线程的线程执行优先级高于日志打印线程的线程执行优先级时,先启动日志收集线程调用通过对日志框架进行封装得到的日志框架接口进行日志收集,并在检测到日志收集完成后,启动日志打印线程调用通过对日志框架进行封装得到的日志框架接口进行日志打印。
S304:调用消息中间件接口将收集到的日志信息发送到消息中间件。
S305:对接收到的日志获取请求进行解析,得到日志类型信息。
S306:调取日志类型信息对应的处理线程,从消息中间件中获取对应的日志信息,以对日志信息进行分析。
S307:对分析完成后的日志进行存储操作,以便进行问题排查。
相应于上面的方法实施例,本发明实施例还提供了一种日志收集装置,下文描述的日志收集装置与上文描述的日志收集方法可相互对应参照。
参见图4,图4为本发明实施例中一种日志收集装置的结构框图,该装置可以包括:
优先级读取模块41,用于当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,所述异步执行线程列表中预存有所述日志打印线程和所述日志收集线程的线程执行优先级;
第一日志打印及收集模块42,用于当确定所述日志打印线程的线程执行优先级高于所述日志收集线程的线程执行优先级时,先启动所述日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动所述日志收集线程调用所述日志框架接口进行日志收集;
第二日志打印及收集模块43,用于当确定所述日志收集线程的线程执行优先级高于所述日志打印线程的线程执行优先级时,先启动所述日志收集线程调用所述日志框架接口进行日志收集,并在检测到日志收集完成后,启动所述日志打印线程调用所述日志框架接口进行日志打印。
通过上述技术方案可知,通过预先设置异步执行线程列表,异步执行线程列表中存储有日志打印线程及日志收集线程两异步执行线程的线程执行优先级,当检测到日志生成时,根据线程执行优先级,通过日志打印线程及日志收集线程依次调取日志框架接口,完成日志打印和日志收集。相较于现有的从日志文件中收集日志的方式,本申请从源头上直接通过异步线程调取日志框架接口完成日志收集,较大地降低了日志写入阻塞的概率,提高了日志收集效率,较大地释放了应用程序内存,提高了应用程序的运行速度。
在本发明的一种具体实施方式中,该装置还可以包括:
日志发送模块,用于在启动日志收集线程调用所述日志框架接口进行日志收集之后,调用消息中间件接口将收集到的日志信息发送到消息中间件。
在本发明的一种具体实施方式中,该装置还可以包括:
日志类型获得模块,用于在调用消息中间件接口将收集到的日志信息发送到消息中间件之后,对接收到的日志获取请求进行解析,得到日志类型信息;
日志信息获取模块,用于调取所述日志类型信息对应的处理线程,从所述消息中间件中获取对应的日志信息,以对所述日志信息进行分析。
在本发明的一种具体实施方式中,该装置还可以包括:
日志存储模块,用于在调取所述日志类型信息对应的处理线程,从所述消息中间件中调取对应的日志信息,以对所述日志信息进行分析之后,对分析完成后的日志进行存储操作,以便进行问题排查。
相应于上面的方法实施例,参见图5,图5为本发明所提供的日志收集设备的示意图,该设备可以包括:
存储器51,用于存储计算机程序;
处理器52,用于执行上述存储器51存储的计算机程序时可实现如下步骤:
当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,异步执行线程列表中预存有日志打印线程和日志收集线程的线程执行优先级;当确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,先启动日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动日志收集线程调用日志框架接口进行日志收集;当确定日志收集线程的线程执行优先级高于日志打印线程的线程执行优先级时,先启动日志收集线程调用日志框架接口进行日志收集,并在检测到日志收集完成后,启动日志打印线程调用日志框架接口进行日志打印。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,异步执行线程列表中预存有日志打印线程和日志收集线程的线程执行优先级;当确定日志打印线程的线程执行优先级高于日志收集线程的线程执行优先级时,先启动日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动日志收集线程调用日志框架接口进行日志收集;当确定日志收集线程的线程执行优先级高于日志打印线程的线程执行优先级时,先启动日志收集线程调用日志框架接口进行日志收集,并在检测到日志收集完成后,启动日志打印线程调用日志框架接口进行日志打印。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种日志收集方法,其特征在于,包括:
当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,所述异步执行线程列表中预存有所述日志打印线程和所述日志收集线程的线程执行优先级;
当确定所述日志打印线程的线程执行优先级高于所述日志收集线程的线程执行优先级时,先启动所述日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动所述日志收集线程调用所述日志框架接口直接在日志产生的源头进行日志收集;
当确定所述日志收集线程的线程执行优先级高于所述日志打印线程的线程执行优先级时,先启动所述日志收集线程调用所述日志框架接口直接在日志产生的源头进行日志收集,并在检测到日志收集完成后,启动所述日志打印线程调用所述日志框架接口进行日志打印。
2.根据权利要求1所述的日志收集方法,其特征在于,在启动所述日志收集线程调用所述日志框架接口直接在日志产生的源头进行日志收集之后,还包括:
调用消息中间件接口将收集到的日志信息发送到消息中间件。
3.根据权利要求2所述的日志收集方法,其特征在于,在调用消息中间件接口将收集到的日志信息发送到消息中间件之后,还包括:
对接收到的日志获取请求进行解析,得到日志类型信息;
调取所述日志类型信息对应的处理线程,从所述消息中间件中获取对应的日志信息,以对所述日志信息进行分析。
4.根据权利要求3所述的日志收集方法,其特征在于,在调取所述日志类型信息对应的处理线程,从所述消息中间件中调取对应的日志信息,以对所述日志信息进行分析之后,还包括:
对分析完成后的日志进行存储操作,以便进行问题排查。
5.根据权利要求1至4任一项所述的日志收集方法,其特征在于,所述日志框架接口为通过对日志框架的源码包进行修改得到的。
6.根据权利要求1至4任一项所述的日志收集方法,其特征在于,所述日志框架接口为通过对日志框架进行封装得到的。
7.一种日志收集装置,其特征在于,包括:
优先级读取模块,用于当检测到存在日志生成时,从异步执行线程列表中读取日志打印线程及日志收集线程的线程执行优先级;其中,所述异步执行线程列表中预存有所述日志打印线程和所述日志收集线程的线程执行优先级;
第一日志打印及收集模块,用于当确定所述日志打印线程的线程执行优先级高于所述日志收集线程的线程执行优先级时,先启动所述日志打印线程调用日志框架接口进行日志打印,并在检测到日志打印完成后,启动所述日志收集线程调用所述日志框架接口直接在日志产生的源头进行日志收集;
第二日志打印及收集模块,用于当确定所述日志收集线程的线程执行优先级高于所述日志打印线程的线程执行优先级时,先启动所述日志收集线程调用所述日志框架接口直接在日志产生的源头进行日志收集,并在检测到日志收集完成后,启动所述日志打印线程调用所述日志框架接口进行日志打印。
8.根据权利要求7所述的日志收集装置,其特征在于,还包括:
日志发送模块,用于在启动所述日志收集线程调用所述日志框架接口直接在日志产生的源头进行日志收集之后,调用消息中间件接口将收集到的日志信息发送到消息中间件。
9.一种日志收集设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述日志收集方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述日志收集方法的步骤。
CN201911285989.4A 2019-12-13 2019-12-13 一种日志收集方法、装置、设备及计算机可读存储介质 Active CN111177097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911285989.4A CN111177097B (zh) 2019-12-13 2019-12-13 一种日志收集方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911285989.4A CN111177097B (zh) 2019-12-13 2019-12-13 一种日志收集方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111177097A CN111177097A (zh) 2020-05-19
CN111177097B true CN111177097B (zh) 2022-06-17

Family

ID=70650360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911285989.4A Active CN111177097B (zh) 2019-12-13 2019-12-13 一种日志收集方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111177097B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309858A (zh) * 2012-03-06 2013-09-18 深圳市腾讯计算机系统有限公司 一种多线程日志管理的方法及装置
CN106598815A (zh) * 2016-12-29 2017-04-26 广州华多网络科技有限公司 一种实时异步日志收集方法及系统
CN106649071A (zh) * 2016-12-30 2017-05-10 广州华多网络科技有限公司 进程内部日志上报的方法和装置
CN106708578A (zh) * 2016-12-23 2017-05-24 北京五八信息技术有限公司 基于双线程的日志输出方法及装置
CN109309585A (zh) * 2018-09-21 2019-02-05 郑州云海信息技术有限公司 一种日志收集方法、装置以及设备
CN109375884A (zh) * 2018-09-03 2019-02-22 中国平安人寿保险股份有限公司 应用日志打印方法、装置、计算机设备和存储介质
CN109491881A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种收集日志的方法、装置、设备及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309858A (zh) * 2012-03-06 2013-09-18 深圳市腾讯计算机系统有限公司 一种多线程日志管理的方法及装置
CN106708578A (zh) * 2016-12-23 2017-05-24 北京五八信息技术有限公司 基于双线程的日志输出方法及装置
CN106598815A (zh) * 2016-12-29 2017-04-26 广州华多网络科技有限公司 一种实时异步日志收集方法及系统
CN106649071A (zh) * 2016-12-30 2017-05-10 广州华多网络科技有限公司 进程内部日志上报的方法和装置
CN109375884A (zh) * 2018-09-03 2019-02-22 中国平安人寿保险股份有限公司 应用日志打印方法、装置、计算机设备和存储介质
CN109309585A (zh) * 2018-09-21 2019-02-05 郑州云海信息技术有限公司 一种日志收集方法、装置以及设备
CN109491881A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种收集日志的方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN111177097A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
US20180365085A1 (en) Method and apparatus for monitoring client applications
CN107038107B (zh) 一种获取应用卡顿信息的方法及装置
WO2020238066A1 (zh) 一种软件的压力测试方法、装置、存储介质和服务器
CN111752799A (zh) 一种业务链路跟踪方法、装置、设备及储存介质
CN110795257A (zh) 处理多集群作业记录的方法、装置、设备及存储介质
WO2022016847A1 (zh) 一种适用于云平台的自动化测试方法及装置
CN107977473B (zh) 基于Logback的分布式系统日志的检索方法和系统
CN111291384B (zh) 漏洞扫描方法、装置及电子设备
CN109460343A (zh) 基于日志的系统异常监控方法、装置、设备及存储介质
CN109726091B (zh) 一种日志管理方法及相关装置
CN112527879A (zh) 基于Kafka的实时数据抽取方法及相关设备
CN111708679A (zh) 日志监控方法、系统、装置和存储介质
CN111274130A (zh) 一种自动化测试方法、装置、设备及存储介质
CN112241362A (zh) 一种测试方法、装置、服务器及存储介质
CN111177097B (zh) 一种日志收集方法、装置、设备及计算机可读存储介质
CN112257065A (zh) 一种进程事件处理方法和装置
CN107656849B (zh) 一种软件系统性能问题定位方法以及装置
CN113392079B (zh) 一种分布式存储集群日志存储优化方法、系统及终端
CN111435327A (zh) 一种日志记录的处理方法、装置及系统
CN115328734A (zh) 跨服务的日志处理方法、装置及服务器
WO2020177495A1 (zh) 一种数据库连接管理方法及装置、设备
CN109635033B (zh) 一种千万级存量数据的处理、日志收集及导入数据库的方法
CN115729727A (zh) 故障修复方法、装置、设备及介质
CN111625412A (zh) 基于Flume的数据采集方法、系统、设备和存储介质
CN108804311A (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