CN111290919A - 日志文件生成方法、装置、计算机设备和存储介质 - Google Patents
日志文件生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111290919A CN111290919A CN202010124366.5A CN202010124366A CN111290919A CN 111290919 A CN111290919 A CN 111290919A CN 202010124366 A CN202010124366 A CN 202010124366A CN 111290919 A CN111290919 A CN 111290919A
- Authority
- CN
- China
- Prior art keywords
- log
- program
- log recording
- recording
- task
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
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)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及开发辅助的调试工具领域,具体涉及一种日志文件生成方法、装置、计算机设备和存储介质。通过获取待记录程序对应的日志记录请求;生成日志记录任务,将日志记录任务置入预设日志任务队列;当启动待记录程序的运行线程时,创建日志记录线程,从预设日志任务队列读取日志记录任务;在待记录程序运行过程中进行日志记录,生成程序日志文件。本申请根据日志记录节点对应的日志记录任务,同时通过独立的日志记录线程以日志任务队列的形式来记录日志,可以有效保证日志记录过程的时序有效性。通过独立线程结合队列的先进先出原理,可以更好的处理大量的程序日志文件需求,而不阻塞待记录程序的运行。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种日志文件生成方法、装置、计算机设备和存储介质。
背景技术
随着网络环境日益复杂,需要采集的日志越来越多、数据量越来越大。程序软件中日志则记录了软件的运行状态,它可能是有重要信息价值的宝库,也是可以是一堆毫无价值的数据。在软件开发中日志是重要的并且最容易实现的一种软件状态跟踪记录的技术手段。日志记录的详细程度决定了开发人员在后续跟踪定位软件问题的难易程度,日志越详细,分析问题的数据就越多就越容易定位问题。
但是在某些频繁执行的方法中记录大量的日志会严重影响软件的运行性能,因为写日志需要执行硬盘的IO操作,这是一个耗时的操作过程。写日志时需要权衡该日志的必要性和写日志的过程对于对方法执行性能的影响,防止写日志的操作影响软件运作性能。
发明内容
基于此,有必要针对现有日志文件生成方法,记录日志时影响软件运行效率的问题,提供一种能够在记录日志的同时提高软件运行效率的日志文件生成方法、装置、计算机设备和存储介质。
一种日志文件生成方法,所述方法包括:
获取待记录程序对应的日志记录请求,所述日志记录请求包括日志记录节点,所述日志记录节点用于标记所述待记录程序中的目标运行节点;
根据所述日志记录节点生成对应的日志记录任务,将所述日志记录任务置入预设日志任务队列;
当启动待记录程序的运行线程时,创建与所述待记录程序的运行线程相对独立的日志记录线程,通过所述日志记录线程从所述预设日志任务队列读取对应的日志记录任务;
根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件。
在其中一个实施例中,所述日志记录请求携带有各待生成程序日志文件的危险级别,所述根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件包括:
当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行所述目标运行节点对应的日志记录,生成程序日志文件;
当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行所述目标运行节点对应的日志记录,生成程序日志文件。
在其中一个实施例中,所述将所述日志记录任务置入预设日志任务队列包括:
将所述日志记录任务置入预设日志任务队列的尾部。
在其中一个实施例中,所述日志记录请求还携带有各待生成程序日志文件的危险级别,所述根据取出的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件之后,还包括:
根据所述待生成程序日志文件的危险级别,为对应生成的所述程序日志文件添加级别标注信息;
根据所述级别标注信息将所述程序日志文件保存至各预设存储位置。
在其中一个实施例中,所述保存所述程序日志文件至预设存储位置之前,还包括:
读取所述待记录程序的历史程序日志信息,根据所述历史程序日志信息为各危险级别程序日志文件分配存储空间;
生成各危险级别程序日志文件对应存储目录,所述存储目录包括各预设存储位置。
在其中一个实施例中,所述生成程序日志文件之后,还包括:
复制所述程序日志文件;
将复制的所述程序日志文件加密后上传至云服务器。
一种日志文件生成装置,所述装置包括:
请求获取模块,用于获取待记录程序对应的日志记录请求,所述日志记录请求包括日志记录节点,所述日志记录节点用于标记所述待记录程序中的目标运行节点;
任务生成模块,用于根据所述日志记录节点生成对应的日志记录任务,将所述日志记录任务置入预设日志任务队列;
线程启动模块,用于当启动待记录程序的运行线程时,创建与所述待记录程序的运行线程相对独立的日志记录线程,通过所述日志记录线程从所述预设日志任务队列读取对应的日志记录任务;
日志记录模块,用于根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件。
在其中一个实施例中,所述日志记录请求携带有各待生成程序日志文件的危险级别,所述日志记录模块具体用于:
当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行所述目标运行节点对应的日志记录,生成程序日志文件;
当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行所述目标运行节点对应的日志记录,生成程序日志文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待记录程序对应的日志记录请求,所述日志记录请求包括日志记录节点,所述日志记录节点用于标记所述待记录程序中的目标运行节点;
根据所述日志记录节点生成对应的日志记录任务,将所述日志记录任务置入预设日志任务队列;
当启动待记录程序的运行线程时,创建与所述待记录程序的运行线程相对独立的日志记录线程,通过所述日志记录线程从所述预设日志任务队列读取对应的日志记录任务;
根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待记录程序对应的日志记录请求,所述日志记录请求包括日志记录节点,所述日志记录节点用于标记所述待记录程序中的目标运行节点;
根据所述日志记录节点生成对应的日志记录任务,将所述日志记录任务置入预设日志任务队列;
当启动待记录程序的运行线程时,创建与所述待记录程序的运行线程相对独立的日志记录线程,通过所述日志记录线程从所述预设日志任务队列读取对应的日志记录任务;
根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件。
上述日志文件生成方法、装置、计算机设备和存储介质,根据日志记录节点对应的日志记录任务,同时通过独立的日志记录线程以日志任务队列的形式来记录日志,可以有效保证日志记录过程的时序有效性。同时通过独立线程结合队列的先进先出原理,可以更好的处理大量的程序日志文件需求,而不阻塞待记录程序的运行,在生成程序日志文件的同时不会影响程序的运行效率。
附图说明
图1为一个实施例中日志文件生成方法的应用环境图;
图2为一个实施例中日志文件生成方法的流程示意图;
图3为一个实施例中图2中步骤S600的子步骤流程示意图;
图4为另一个实施例中日志文件生成方法的流程示意图;
图5为一个实施例中日志文件生成装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的日志文件生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以提交日志记录请求至服务器104,服务器104获获取待记录程序对应的日志记录请求,日志记录请求包括日志记录节点,日志记录节点用于标记待记录程序中的目标运行节点;根据日志记录节点生成对应的日志记录任务,将日志记录任务置入预设日志任务队列;当启动待记录程序的运行线程时,创建与待记录程序的运行线程相对独立的日志记录线程,通过日志记录线程从预设日志任务队列读取对应的日志记录任务;根据读取的日志记录任务在待记录程序运行过程中进行目标运行节点对应的日志记录,生成程序日志文件。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种日志文件生成方法,以该方法应用于图1中的服务器端为例进行说明,包括以下步骤:
S200,获取待记录程序对应的日志记录请求,日志记录请求包括日志记录节点,日志记录节点用于标记待记录程序中的目标运行节点。
程序软件中日志文件记录了软件的运行状态,它可能是有重要信息价值的宝库,也是可以是一堆毫无价值的数据。在软件开发中程序日志是重要的并且最容易实现的一种软件状态跟踪记录的技术手段。程序日志记录的详细程度决定了开发人员在后续跟踪定位软件问题的难易程度,日志越详细,分析问题的数据就越多就越容易定位问题。具体的,本申请通过log4net类库框架来生成对应的程序运行日志。首先,用户可以确定待记录程序哪些关键的运行节点是需要进行日志记录,生成程序日志文件的,可以标记这些关键的运行节点,将其作为待记录程序对应的目标日志节点。而后根据这些预设日志记录节点生成对应的日志记录请求提交到服务器,以便在这些关键的运行节点进行对应的日志记录。
S400,根据日志记录节点生成对应的日志记录任务,将日志记录任务置入预设日志任务队列。
日志记录任务用于控制程序在对应的预设日志记录节点记录日志,本申请通过是指通过独立的日志线程来进行来记录日志,这样就不会占用调用线程进行日志记录的执行时间,提高程序的运行效率。然而为了保证日志记录时序的正确性,可以通过日志任务队列来实现。队列先进先出,就像生活中的排队,按先后顺序执行。将把独立线程和队列结合,可以提高程序运行的效率。创建的日志记录任务中包含了关键的日志入列的时间,当然还包含其他的日志内容,日志等级以及日志来源等,这些信息也包含在用户提交至服务器的日志记录请求中,用于与日志记录节点一起创建日志记录任务。
S600,当启动待记录程序的运行线程时,创建与待记录程序的运行线程相对独立的日志记录线程,通过日志记录线程从预设日志任务队列读取对应的日志记录任务。
日志记录线程是与待记录程序运行的线程相对独立运行的线程,日志记录线程不会造成调用线程进行日志记录时,对待记录程序运行的干扰,提高程序的运行效率。当需要程序开始运行,启动相应的运行线程时,可以同时创建并启动对应的日志记录线程,通过日志记录线程从日志任务队列中依次读取日志记录任务,并执行该日志记录任务。
S800,根据读取的日志记录任务在待记录程序运行过程中进行目标运行节点对应的日志记录,生成程序日志文件。
日志记录文件是指用于记录程序运行的相关信息的文件。在程序运行至标记的目标日志记录节点时,可以在独立的日志记录线程中执行对应的日志记录任务,生成对应的程序日志文件。
上述日志文件生成方法,通过获取待记录程序对应的日志记录请求,日志记录请求包括日志记录节点;根据日志记录节点生成对应的日志记录任务,将日志记录任务置入预设日志任务队列;当启动待记录程序的运行线程时,创建与待记录程序的运行线程相对独立的日志记录线程,通过日志记录线程从预设日志任务队列读取对应的日志记录任务;根据读取的日志记录任务在待记录程序运行过程中进行目标运行节点对应的日志记录,生成程序日志文件。本申请根据日志记录节点对应的日志记录任务,同时通过独立的日志记录线程以日志任务队列的形式来记录日志,可以有效保证日志记录过程的时序有效性。同时通过独立线程结合队列的先进先出原理,可以更好的处理大量的程序日志文件需求,而不阻塞待记录程序的运行,在生成程序日志文件的同时不会影响程序的运行效率。
在其中一个实施例中,日志记录请求携带有各待生成程序日志文件的危险级别,S800包括:
当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行目标运行节点对应的日志记录,生成程序日志文件。
当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行目标运行节点对应的日志记录,生成程序日志文件。
log4net类库默认规定了日志的级别,包括DEBUG、INFO、WARN、ERROR以及FATAL等级别。其中DEBUG级指出细粒度信息事件对调试应用程序是非常有帮助的。INFO级表明消息在粗粒度级别上突出强调应用程序的运行过程。WARN级表明会出现潜在错误的情形。ERROR级指出虽然发生错误事件,但仍然不影响系统的继续运行。FATAL级指出每个严重的错误事件将会导致应用程序的退出。因为程序运行并不能保100%稳定运行,如果在日志记录任务写入了队列,但还未执行时,待记录程序便异常结束了,这将导致程序日志文件异常丢失,所以针对重要的信息,例如可能出现异常的ERROR级日志以及FATAL级日志,需要立刻记录,通过同步进行对应的日志记录,以便生成程序日志文件,保证有足够内容分析异常。而对于不为ERROR级且不为FATAL级的程序日志文件,则可以通过队列形式进行异步记录,保证生成程序日志文件不会影响程序的执行效率。可以根据程序日志文件的危险级别,对其进行不同处理,以保证生成日志文件的可靠性。
如图3所示,在其中一个实施例中,步骤S400包括:
S410、根据日志记录节点生成对应的日志记录任务。
S430、将日志记录任务置入预设日志任务队列的尾部。
在生成新的日志记录任务后,可以通过将新生成的日志记录任务置入日志任务队列的尾部,在日志记录的时候,基于队列的先入先出,可以保证日志记录过程中的时序正确性。确保日志记录的顺序不会违反对应的代码运行的顺序。
如图4所示,在其中一个实施例中,步骤S800之后,还包括:
S920,根据待生成程序日志文件的危险级别,为对应生成的程序日志文件添加级别标注信息。
S940,根据级别标注信息将程序日志文件保存至各预设存储位置。
预设存储位置根据用户预先的设置生成,具体包括了各个危险级别的日志文件对应的存储位置。当生成程序日志文件之后,可以根据生成后的程序日志文件的危险级别为其添加对应的标注信息,而后根据标准信息,将生成的程序日志文件存储到各个对应的预设存储位置,以供用户进行程序分析,同时方便在程序的调试过程中随时调用。
在其中一个实施例中,步骤S920之前,还包括:读取待记录程序的历史程序日志信息,根据历史程序日志信息为各危险级别程序日志文件分配存储空间;生成各危险级别程序日志文件对应存储目录,存储目录包括各预设存储位置。
服务器历史程序日志信息推断各危险级别的程序日志文件对应的存储大小,可以根据历史经验为其分配的存储空间。同时建立程序日志文件对应的存储目录,当日志存储的时候,可以根据程序日志文件的级别以及入列的时间,将日志文件保存至日志文件目录的对应位置,完成日志记录的过程,通过日志文件目录可以有效提高日志文件存储以及查询过程的简便性。
在其中一个实施例中,步骤S900之前,还包括:
复制程序日志文件;
将复制的程序日志文件加密后上传至云服务器。
在将程序日志文件进行存储之前,还可以对该程序日志文件进行备份处理,即程序日志文件复制,将复制文件加密后上传至云服务器进行存储,通过对程序日志文件的备份处理,可以有效保证日志文件的安全性。更具体地,在对程序日志文件进行复制之前,还可以对程序日志文件进行压缩处理,以节约对应的存储空间。
在其中一个实施例中,本申请的日志文件生成方法包括以下步骤:获取待记录程序对应的日志记录请求,日志记录请求包括日志记录节点,日志记录节点用于标记待记录程序中的目标运行节点;根据日志记录节点生成对应的日志记录任务,将日志记录任务置入预设日志任务队列的尾部。当启动待记录程序的运行线程时,创建与待记录程序的运行线程相对独立的日志记录线程,通过日志记录线程从预设日志任务队列读取对应的日志记录任务;根据读取的日志记录任务在待记录程序运行过程中进行对应的日志记录,当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行对应的日志记录,生成程序日志文件;当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行对应的日志记录,生成程序日志文件。读取待记录程序的历史程序日志信息,根据历史程序日志信息为各危险级别程序日志文件分配存储空间;生成各危险级别程序日志文件对应存储目录,存储目录包括各预设存储位置。根据待生成程序日志文件的危险级别,为对应生成的程序日志文件添加级别标注信息;根据级别标注信息将程序日志文件保存至各预设存储位置。复制程序日志文件;将复制的程序日志文件加密后上传至云服务器。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种日志文件生成装置,包括:
请求获取模块200,用于获取待记录程序对应的日志记录请求,日志记录请求包括日志记录节点,日志记录节点用于标记待记录程序中的目标运行节点;
任务生成模块400,用于根据日志记录节点生成对应的日志记录任务,将日志记录任务置入预设日志任务队列;
线程启动模块600,用于当启动待记录程序的运行线程时,创建与待记录程序的运行线程相对独立的日志记录线程,通过日志记录线程从预设日志任务队列读取对应的日志记录任务;
日志记录模块800,用于根据读取的日志记录任务在待记录程序运行过程中进行目标运行节点对应的日志记录,生成程序日志文件。
在其中一个实施例中,日志记录模块800具体用于:当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行目标运行节点对应的日志记录,生成程序日志文件;当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行目标运行节点对应的日志记录,生成程序日志文件。
在其中一个实施例中,任务生成模块400具体用于:将日志记录任务置入预设日志任务队列的尾部。
在其中一个实施例中,还包括日志存储模块,用于根据待生成程序日志文件的危险级别,为对应生成的程序日志文件添加级别标注信息;根据级别标注信息将程序日志文件保存至各预设存储位置。
在其中一个实施例中,还包括日志生成模块,用于读取待记录程序的历史程序日志信息,根据历史程序日志信息为各危险级别程序日志文件分配存储空间;生成各危险级别程序日志文件对应存储目录,存储目录包括各预设存储位置。
在其中一个实施例中,还包括日志备份模块,用于复制程序日志文件;将复制的程序日志文件加密后上传至云服务器。
关于日志文件生成装置的具体限定可以参见上文中对于日志文件生成方法的限定,在此不再赘述。上述日志文件生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种日志文件生成方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待记录程序对应的日志记录请求,日志记录请求包括日志记录节点,日志记录节点用于标记待记录程序中的目标运行节点;
根据日志记录节点生成对应的日志记录任务,将日志记录任务置入预设日志任务队列;
当启动待记录程序的运行线程时,创建与待记录程序的运行线程相对独立的日志记录线程,通过日志记录线程从预设日志任务队列读取对应的日志记录任务;
根据读取的日志记录任务在待记录程序运行过程中进行目标运行节点对应的日志记录,生成程序日志文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行目标运行节点对应的日志记录,生成程序日志文件;当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行目标运行节点对应的日志记录,生成程序日志文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将日志记录任务置入预设日志任务队列的尾部。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据待生成程序日志文件的危险级别,为对应生成的程序日志文件添加级别标注信息;根据级别标注信息将程序日志文件保存至各预设存储位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:读取待记录程序的历史程序日志信息,根据历史程序日志信息为各危险级别程序日志文件分配存储空间;生成各危险级别程序日志文件对应存储目录,存储目录包括各预设存储位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:复制程序日志文件;将复制的程序日志文件加密后上传至云服务器。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待记录程序对应的日志记录请求,日志记录请求包括日志记录节点,日志记录节点用于标记待记录程序中的目标运行节点;
根据日志记录节点生成对应的日志记录任务,将日志记录任务置入预设日志任务队列;
当启动待记录程序的运行线程时,创建与待记录程序的运行线程相对独立的日志记录线程,通过日志记录线程从预设日志任务队列读取对应的日志记录任务;
根据读取的日志记录任务在待记录程序运行过程中进行目标运行节点对应的日志记录,生成程序日志文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行目标运行节点对应的日志记录,生成程序日志文件;当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行目标运行节点对应的日志记录,生成程序日志文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将日志记录任务置入预设日志任务队列的尾部。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据待生成程序日志文件的危险级别,为对应生成的程序日志文件添加级别标注信息;根据级别标注信息将程序日志文件保存至各预设存储位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取待记录程序的历史程序日志信息,根据历史程序日志信息为各危险级别程序日志文件分配存储空间;生成各危险级别程序日志文件对应存储目录,存储目录包括各预设存储位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:复制程序日志文件;将复制的程序日志文件加密后上传至云服务器。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种日志文件生成方法,所述方法包括:
获取待记录程序对应的日志记录请求,所述日志记录请求包括日志记录节点,所述日志记录节点用于标记所述待记录程序中的目标运行节点;
根据所述日志记录节点生成对应的日志记录任务,将所述日志记录任务置入预设日志任务队列;
当启动待记录程序的运行线程时,创建与所述待记录程序的运行线程相对独立的日志记录线程,通过所述日志记录线程从所述预设日志任务队列读取对应的日志记录任务;
根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件。
2.根据权利要求1的方法,其特征在于,所述日志记录请求携带有各待生成程序日志文件的危险级别,所述根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件包括:
当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行所述目标运行节点对应的日志记录,生成程序日志文件;
当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行所述目标运行节点对应的日志记录,生成程序日志文件。
3.根据权利要求1所述的方法,其特征在于,所述将所述日志记录任务置入预设日志任务队列包括:
将所述日志记录任务置入预设日志任务队列的尾部。
4.根据权利要求1所述的方法,其特征在于,所述日志记录请求还携带有各待生成程序日志文件的危险级别,所述根据取出的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件之后,还包括:
根据所述待生成程序日志文件的危险级别,为对应生成的所述程序日志文件添加级别标注信息;
根据所述级别标注信息将所述程序日志文件保存至各预设存储位置。
5.根据权利要求4所述的方法,其特征在于,所述保存所述程序日志文件至预设存储位置之前,还包括:
读取所述待记录程序的历史程序日志信息,根据所述历史程序日志信息为各危险级别程序日志文件分配存储空间;
生成各危险级别程序日志文件对应存储目录,所述存储目录包括各预设存储位置。
6.根据权利要求1所述的方法,其特征在于,所述生成程序日志文件之后,还包括:
复制所述程序日志文件;
将复制的所述程序日志文件加密后上传至云服务器。
7.一种日志文件生成装置,其特征在于,所述装置包括:
请求获取模块,用于获取待记录程序对应的日志记录请求,所述日志记录请求包括日志记录节点,所述日志记录节点用于标记所述待记录程序中的目标运行节点;
任务生成模块,用于根据所述日志记录节点生成对应的日志记录任务,将所述日志记录任务置入预设日志任务队列;
线程启动模块,用于当启动待记录程序的运行线程时,创建与所述待记录程序的运行线程相对独立的日志记录线程,通过所述日志记录线程从所述预设日志任务队列读取对应的日志记录任务;
日志记录模块,用于根据读取的日志记录任务在待记录程序运行过程中进行所述目标运行节点对应的日志记录,生成程序日志文件。
8.根据权利要求7所述的装置,其特征在于,所述日志记录请求携带有各待生成程序日志文件的危险级别,所述日志记录模块具体用于:
当待生成程序日志文件的危险级别为ERROR级或FATAL级时,根据日志记录任务在程序运行过程中同步进行所述目标运行节点对应的日志记录,生成程序日志文件;
当待生成程序日志文件的危险级别不为ERROR级且不为FATAL级时,根据日志记录任务在程序运行过程中异步进行所述目标运行节点对应的日志记录,生成程序日志文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124366.5A CN111290919A (zh) | 2020-02-27 | 2020-02-27 | 日志文件生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124366.5A CN111290919A (zh) | 2020-02-27 | 2020-02-27 | 日志文件生成方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111290919A true CN111290919A (zh) | 2020-06-16 |
Family
ID=71029520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010124366.5A Pending CN111290919A (zh) | 2020-02-27 | 2020-02-27 | 日志文件生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111290919A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000971A (zh) * | 2020-08-21 | 2020-11-27 | 浪潮电子信息产业股份有限公司 | 一种文件权限记录方法、系统及相关装置 |
CN112286876A (zh) * | 2020-10-29 | 2021-01-29 | 深圳Tcl新技术有限公司 | 日志文件抓取方法、设备及计算机可读存储介质 |
CN112948136A (zh) * | 2021-02-02 | 2021-06-11 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种嵌入式操作系统异步日志记录的实现方法 |
CN113420340A (zh) * | 2021-07-09 | 2021-09-21 | 支付宝(杭州)信息技术有限公司 | 信息记录装置、计算机设备及信息记录方法 |
CN114500253A (zh) * | 2022-01-13 | 2022-05-13 | 北京特立信电子技术股份有限公司 | 一种日志信息存储方法及存储介质 |
WO2023284969A1 (en) * | 2021-07-15 | 2023-01-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Event record management for a network node |
-
2020
- 2020-02-27 CN CN202010124366.5A patent/CN111290919A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000971A (zh) * | 2020-08-21 | 2020-11-27 | 浪潮电子信息产业股份有限公司 | 一种文件权限记录方法、系统及相关装置 |
CN112000971B (zh) * | 2020-08-21 | 2022-07-15 | 浪潮电子信息产业股份有限公司 | 一种文件权限记录方法、系统及相关装置 |
CN112286876A (zh) * | 2020-10-29 | 2021-01-29 | 深圳Tcl新技术有限公司 | 日志文件抓取方法、设备及计算机可读存储介质 |
CN112286876B (zh) * | 2020-10-29 | 2024-08-20 | 深圳Tcl新技术有限公司 | 日志文件抓取方法、设备及计算机可读存储介质 |
CN112948136A (zh) * | 2021-02-02 | 2021-06-11 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种嵌入式操作系统异步日志记录的实现方法 |
CN113420340A (zh) * | 2021-07-09 | 2021-09-21 | 支付宝(杭州)信息技术有限公司 | 信息记录装置、计算机设备及信息记录方法 |
WO2023284969A1 (en) * | 2021-07-15 | 2023-01-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Event record management for a network node |
CN114500253A (zh) * | 2022-01-13 | 2022-05-13 | 北京特立信电子技术股份有限公司 | 一种日志信息存储方法及存储介质 |
CN114500253B (zh) * | 2022-01-13 | 2024-03-12 | 北京特立信电子技术股份有限公司 | 一种日志信息存储方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111290919A (zh) | 日志文件生成方法、装置、计算机设备和存储介质 | |
CN109446068B (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN111143133B (zh) | 虚拟机备份方法和备份虚拟机恢复方法 | |
US10545775B2 (en) | Hook framework | |
US9129058B2 (en) | Application monitoring through continuous record and replay | |
CN110134658B (zh) | 日志监控方法、装置、计算机设备和存储介质 | |
WO2015131804A1 (en) | Call stack relationship acquiring method and apparatus | |
WO2021174817A1 (zh) | 数据库自动化审计方法、系统、设备及存储介质 | |
CN110619227A (zh) | 一种审计日志管理方法、装置、设备及可读存储介质 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
CN112395157A (zh) | 审计日志的获取方法、装置、计算机设备和存储介质 | |
CN110764962A (zh) | 日志处理方法和装置 | |
CN111339054A (zh) | 一种存储系统分级管理的方法、装置、设备及存储介质 | |
WO2022121548A1 (zh) | 一种bios错误定位方法、装置、设备及非易失性存储介质 | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
Perianayagam et al. | Rex: a toolset for reproducing software experiments | |
CN112559290B (zh) | 业务调用监控方法、装置、计算机设备和存储介质 | |
US20030105958A1 (en) | Command script instrumentation for logging command execution and the protection of sensitive information | |
CN114896335A (zh) | 一种数据库的数据转储方法及系统 | |
CN111045891B (zh) | 基于java多线程的监控方法、装置、设备以及存储介质 | |
US11687490B2 (en) | Management of contextual information for data | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
US10102052B2 (en) | Dumping resources | |
CN112416640A (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 |