CN113220362A - 日志记录获取方法、装置、计算机设备和存储介质 - Google Patents
日志记录获取方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113220362A CN113220362A CN202110483186.0A CN202110483186A CN113220362A CN 113220362 A CN113220362 A CN 113220362A CN 202110483186 A CN202110483186 A CN 202110483186A CN 113220362 A CN113220362 A CN 113220362A
- Authority
- CN
- China
- Prior art keywords
- target program
- log
- program
- starting
- instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012795 verification Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 9
- 238000010200 validation analysis Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种日志记录获取方法,其中,该日志记录获取方法包括:通过获取目标程序启动信息,所述目标程序启动信息在所述目标程序开始启动时产生,所述目标程序启动信息至少包括目标程序端的日志输出接口信息;基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联;基于所述目标程序启动信息向目标程序端发送日志获取指令,并通过所述服务器端的日志记录接口接收程序启动日志。通过本申请解决了APP在设备部署环境下,从启动到运行过程中,无法获取日志信息的问题,实现了在APP从启动到运行过程中,可以成功获取程序启动日志。
Description
技术领域
本申请涉及日志调用技术领域,特别是涉及一种日志记录获取方法、装置、计算机设备和存储介质。
背景技术
在APP运行过程中,一般会向标准输出口(STDOUT)以及标准错误输出口(STDERR)输出日志信息,而标准输出口和标准错误输出口通常会被重定向到标准串口,当接上串口线后,设备就可以进行打印输出。但当设备在部署环境下时,通常不具备将串口接出的条件,比如当设备安装在高处时,或者基于信息安全考虑,或隐私性考虑将串口部件去除时,都不具备接入条件。
因此,当APP完成开发调试,进入到部署阶段时,若APP在启动过程中发生某种错误,导致APP无法正常运行,开发人员无法获取日志信息,无法知晓具体原因,为APP的成功部署带来困难。
针对相关技术中存在当APP在设备部署环境下,从启动到运行过程中,无法获取日志信息的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种日志记录获取方法、装置、计算机设备和存储介质,以解决相关技术中在设备部署环境下,APP从启动到运行过程中无法获取日志信息的问题。
第一个方面,在本实施例中提供了一种日志记录获取方法,应用于服务器端,其特征在于,包括:获取目标程序启动信息,所述目标程序启动信息在所述目标程序开始启动时产生,所述目标程序启动信息至少包括目标程序端的日志输出接口信息;基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联;基于所述目标程序启动信息向目标程序端发送日志获取指令,并通过所述服务器端的日志记录接口接收程序启动日志。
在另一个实施例中,所述基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联包括:获取所述服务器端的日志记录接口地址;基于所述目标程序启动信息,获取所述目标程序端的日志输出接口地址;基于所述服务器端的日志记录接口地址以及目标程序端的日志输出地址向所述目标程序端发送地址替换指令,使目标程序端的所述日志输出接口地址替换为所述服务器端的日志记录接口地址。
在其中一个实施例中,基于所述目标程序启动信息向目标程序端发送日志获取指令包括:基于所述目标程序启动信息向所述目标程序端发送校验指令,所述校验指令用于校验目标程序的启动状态;获取校验结果,所述校验结果包括所述目标程序的启动状态;基于所述校验结果和所述目标程序启动信息向所述目标程序端发送日志获取指令。
在另一个实施例中,所述发送校验指令包括:发送启动结果校验指令,所述启动结果校验指令用于校验所述目标程序的启动结果,所述校验结果至少包括启动成功和启动失败
在另一个实施例中,所述发送校验指令还包括:发送完整度校验指令,所述完整度校验指令用于校验所述目标程序的程序完整度,校验结果包括所述程序完整度高于预设阈值和所述程序完整度低于预设阈值。
在其中一个实施例中,所述发送校验指令还包括:发送启动方式校验指令,所述程序启动方式校验指令用于校验所述目标程序的启动方式,所述校验结果包括源代码解释器启动和函数族启动。
在其中一个实施例中,所述通过所述日志记录接口接收程序启动日志之后还包括:将所述程序启动日志保存到本地存储单元或云端网络。
第二个方面,在本实施例中提供了一种日志记录获取装置,应用于服务器端,其特征在于,包括:
程序启动信息获取模块:用于获取目标程序启动信息,所述目标程序启动信息在所述目标程序开始启动时产生,所述目标程序启动信息至少包括目标程序端的日志输出接口信息;接口关联模块:用于基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联;日志记录接收模块:用于基于所述目标程序启动信息向目标程序端发送日志获取指令,并通过所述服务器端的日志记录接口接收程序启动日志。
第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的日志记录获取方法。
第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的日志记录获取方法。
与相关技术相比,在本实施例中提供的日志记录获取方法,通过获取目标程序启动信息,所述目标程序启动信息在所述目标程序开始启动时产生,所述目标程序启动信息至少包括目标程序端的日志输出接口信息;基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联;基于所述目标程序启动信息向目标程序端发送日志获取指令,并通过所述服务器端的日志记录接口接收程序启动日志,解决了APP在设备部署环境下,从启动到运行过程中,无法获取日志信息的问题,实现了在APP从启动到运行过程中,可以成功获取日志记录。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一个实施例中日志记录获取方法的流程示意图;
图2是本申请另一个实施例中日志记录获取方法的流程示意图;
图3是本申请一个实施例中日志记录获取装置的结构框图;
图4是本申请一个实施例中计算机设备的硬件结构示意图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在APP完成开发调试,进入到部署阶段时,若APP在启动过程中发生某种错误,导致APP无法正常运行时,由于特殊的部署环境,设备不具备直接输出日志信息的条件,导致开发人员无法正常获取日志信息,从而无法知晓具体原因,为APP的成功部署带来困难。
本申请的目的是APP在设备部署环境下,从启动到运行中,可以成功获取日志记录。
请参阅图1,图1是本申请一个实施例中日志记录获取方法的流程示意图。
本实施例中,日志记录获取方法包括:
S101,获取目标程序启动信息,目标程序启动信息在目标程序开始启动时产生,目标程序启动信息至少包括目标程序端的日志输出接口信息。
本实施例中,目的是获取该程序由未启动状态切换到启动状态时的程序启动日志,因此首先需要获取设备部署环境下程序的启动信息,该程序的启动信息包括读取到的位于目标程序端的日志输出接口信息,可以理解的,由于隐私性或便捷性原因,原程序端的日志输出接口输出的程序启动日志无法被正常读取,则需要获取目标程序端的日志输出接口信息,从而可以基于该日志输出接口进行下一步操作。可以理解的,在其他实施例中,目标程序启动信息还可以包括目标程序的启动指令以及目标程序启动所需流程等其他相关信息,可以由用户根据实际需求进行设置,此处不做具体限定。
S102,基于目标程序启动信息将服务器端的日志记录接口与目标程序端的日志输出接口进行关联。
在本实施例中,由于目标程序端的日志输出接口输出的程序启动日志无法被正常读取,本申请的目的是读取目标程序的程序启动日志,因此首先需要建立一个与原程序端日志输出接口不同的新接口,该接口可以被正常输出程序启动日志,通过建立服务器端的日志记录接口,并基于目标程序端的日志输出接口信息,与目标程序端的日志输出接口进行关联,如此可以保证程序启动日志可以直接通过服务器端的日志记录接口输出程序启动日志,而不是继续输出到无法正常读取程序启动日志的目标程序端的日志输出接口。可以理解的,在其他实施例中,关联可以为替换日志输出地址,还可以为接管日志输出子程序等其他相关信息,可以由用户根据实际需求进行设置,此处不做具体限定。
S103,基于目标程序启动信息向目标程序端发送日志获取指令,并通过服务器端的日志记录接口接收程序启动日志。
可以理解的,本实施例中,首先通过服务器端向目标程序端发送日志获取指令,该日志获取指令可以使目标程序端将程序启动日志进行输出,由于目标程序端的日志输出接口与服务器端的日志记录接口已经进行关联,因此程序启动日志会基于日志输出接口发送至服务器端的日志记录接口,从而服务器端可以通过日志记录接口接收该程序启动日志,程序启动日志包括程序在启动过程中的错误信息,该程序启动日志可以被读取或打印等。
上述日志记录获取方法,通过获取目标程序启动信息,获取到目标程序端的日志输出接口信息,接着将服务器端的日志记录接口与目标程序端的日志输出接口信息进行关联,关联后可以通过服务器端的日志记录接口输出日志,接着通过向目标程序端发送日志获取指令,使服务器端获取目标程序端中目标程序的启动日志。
在另一个实施例中,基于目标程序启动信息将服务器端的日志记录接口与目标程序端的日志输出接口进行关联包括:获取服务器端的日志记录接口地址;基于目标程序启动信息,获取目标程序端的日志输出接口地址;基于服务器端的日志记录接口地址以及目标程序端的日志输出地址向目标程序端发送地址替换指令,使目标程序端的日志输出接口地址替换为日志记录接口地址。
容易理解的,本实施例中,首先获取位于服务器端的日志记录接口地址,接着基于上一步骤获取到的目标程序启动信息,获取目标程序端的日志输出接口地址,然后可以通过向目标程序端发送地址替换指令,使得位于目标程序端的日志输出接口地址替换为位于服务器端的日志记录接口地址,从而使程序端的程序启动日志可以通过服务器端的日志记录接口地址,输出到服务器端的日志记录接口,达到输出日志记录的目的。
在另一个实施例中,基于所述目标程序启动信息向目标程序端发送日志获取指令包括:基于目标程序启动信息向目标程序端发送校验指令,校验指令用于校验目标程序的启动状态;获取校验结果,校验结果包括目标程序的启动状态;基于校验结果和目标程序启动信息向目标程序端发送日志获取指令。
在本实施例中,首先服务器端接收到程序启动信息,接着向目标程序端发送日志获取指令,并通过服务器端的日志记录接口接收程序启动日志,而在通过日志获取指令获取日志前,首先需要确定程序启动日志的范围,因此,在向目标程序端发送的日志获取指令前,需要向程序端发送启动结果校验指令,校验指令可以使程序端对目标程序的启动状态进行校验,并输出校验结果,基于该启动状态的校验结果作为目标程序的启动日志,接着再通过校验结果以及目标程序启动信息,向目标程序端发送日志获取指令。
在其中一个实施例中,发送校验指令包括:发送启动结果校验指令,启动结果校验指令用于校验目标程序的启动结果,校验结果至少包括启动成功和启动失败。
可以理解的,在本实施例中需要向程序端发送启动结果校验指令,目标是使程序端校验程序的启动结果,目标程序的启动结果至少有启动成功和启动失败,当目标程序启动失败时,则使目标程序端生成程序启动日志。
在另一个实施例中,发送校验指令还包括:发送完整度校验指令,完整度校验指令用于校验目标程序的程序完整度,校验结果包括程序完整度高于预设阈值和程序完整度低于预设阈值。
可以理解的,在本实施例中,需要向程序端发送目标程序完整度校验指令,目的是检验目标程序的完整度,容易理解的,当目标程序完整度高于预设阈值时,才可以保证程序的正常启动,当目标程序完整度低于预设阈值,则无法保证程序正常启动或功能完整,因此在本实施例中首先确定目标程序的完整度,判断目标程序完整度,与预设阈值进行对比,并基于对比结果生成程序启动日志。
在另一个实施例中,发送校验指令还包括:基于目标程序启动信息,发送启动方式校验指令,程序启动方式校验指令用于校验目标程序的启动方式,校验结果包括源代码解释器启动和函数族启动。
可以理解的,在本实施例中,需要向程序端发送程序启动方式校验指令,可以理解的,程序不同的启动方式可能会导致日志报告信息输出方式不同,或程序启动日志报告信息输出地址不同,程序启动日志无法正常被读取,因此在获取程序启动日志报告前还需要校验目标程序启动方式,本实施例中列举了APP的两种启动方式,一种是通过源代码解释器启动,即通过shell代码启动,该启动方式无需额外处理,可以直接将程序启动日志发送至服务器端的日志记录接口,另一种是通过函数族启动,即通过exec()函数族启动,当通过函数族启动时,会发送一个返回值,该返回值即是日志报告,将返回值设置为日志记录,并生成程序启动日志。
在其他实施例中,校验指令还可以为启动时间校验指令、启动时外部设备状态校验指令等,可以由用户根据实际需求进行设置,此处不做具体限定。
在其中一个实施例中,基于目标程序启动信息向目标程序发送日志获取指令,并通过日志记录接口接收程序启动日志之后还包括:基于目标程序启动信息,将目标程序端的日志记录接口与目标程序端的日志输出接口进行关联;将目标程序端的日志记录接口与目标程序端的日志输出接口进行关联包括:获取目标程序端的日志记录接口地址;基于目标程序启动信息,获取目标程序端的日志输出接口地址;基于目标程序端的日志记录接口地址以及日志输出地址向目标程序端发送地址替换指令,使目标程序端的日志输出接口地址替换为目标程序端的日志记录接口地址。
在本实施例中,当通过服务器端的日志记录获取接口获取过程序启动日志后,需要将目标程序端的日志输出接口重新与原目标程序端的日志记录接口关联,以恢复初始的程序状态,因此,通过目标程序启动信息可以获取原目标程序端日志记录接口,并进行关联,首先获取到初始目标程序端的日志记录接口地址,然后根据目标程序启动信息,获取当前目标程序端日志输出接口地址,接着发送一个可以使目标程序端日志输出接口地址替换为初始目标程序端的日志记录接口地址,便可以使得程序的日志输出接口参数恢复为初始的状态。
在其中一个实施例中,通过日志记录接口接收程序启动日志之后还包括:将程序启动日志保存到本地存储单元或云端网络。
可以理解的,本实施例中,获取程序启动日志后,可以将程序启动日志保存到本地存储单元或上传至云端网络,还可以输出到打印设备等。
在另一个实施例中,还可以在目标程序端创建第二日志记录接口,使第二日志记录接口与原日志输出接口进行关联,通过第二日志记录接口输出程序启动日志,第二日志记录接口可以通过程序端进行呈现或输出程序启动日志。
在其中一些实施例中,如图2,图2为本申请另一个实施例中日志记录方法的流程示意图,在APP中打开文件,例如/var/tmp/logfile,基于该文件创建一个logfile_fd文档,设置为日志记录文档,接着打开appwaiter进程,通过appwaiter进程,调用dup2系统方法,使得logfile_fd接管STDOUT和STDERR,STDOUT和STDERR为原日志输出接口,接着通过appwaiter进程,执行APP中可执行程序的前导进程,也就是对APP的可执行程序进行校验的进程,当此时出现运行错误,则使错误报告发送至logfile_fd,另外还需要检查APP的启动方式,当APP通过shell启动:不需要额外处理,当APP通过exec()函数族启动:需要判断exec的返回值,若有返回值,则通过输出系统返回的错误码来进行记录;若无返回值,则前导进程执行完毕,并无错误信息,无需输出错误报告;接着执行libsdk.so中的构造函数restore,恢复STDOUT和STDERR为日志输出接口,可以避免程序在投入使用时额外输出错误报告,基于此,便可以通过logfile读取程序启动日志,也就是错误报告。
本实施例还提供了一种日志记录获取装置,应用于服务器端,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请实施例的目标运动状态判断装置的结构框图,如图3所示,该装置包括:程序启动信息获取模块10、接口关联模块20、日志记录接收模块30。
程序启动信息获取模块10,用于获取目标程序启动信息,目标程序启动信息在目标程序开始启动时产生,目标程序启动信息至少包括目标程序端的日志输出接口信息;
接口关联模块20,用于基于目标程序启动信息将服务器端的日志记录接口与目标程序端的日志输出接口进行关联;
接口关联模块20,还用于获取服务器端的日志记录接口地址;基于目标程序启动信息,获取目标程序端的日志输出接口地址;基于服务器端的日志记录接口地址以及目标程序端的日志输出地址向目标程序端发送地址替换指令,使目标程序端的日志输出接口地址替换为日志记录接口地址。
日志记录接收模块30,用于基于目标程序启动信息向目标程序端发送日志获取指令,并通过服务器端的日志记录接口接收程序启动日志。
日志记录接收模块30,还用于基于目标程序启动信息向目标程序端发送校验指令,校验指令用于校验目标程序的启动状态,获取校验结果,校验结果包括所述目标程序的启动状态;基于校验结果和所述目标程序启动信息向所述目标程序端发送日志获取指令。
日志记录接收模块30,还用于发送启动结果校验指令,启动结果校验指令用于校验目标程序的启动结果,校验结果至少包括启动成功和启动失败。
日志记录接收模块30,还用于发送完整度校验指令,完整度校验指令用于校验目标程序的程序完整度,校验结果包括程序完整度高于预设阈值和程序完整度低于预设阈值。
日志记录接收模块30,还用于发送启动方式校验指令,程序启动方式校验指令用于校验目标程序的启动方式,校验结果包括源代码解释器启动和函数族启动。
日志记录接收模块30,还用于将程序启动日志保存到本地存储单元或云端网络。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例日志记录获取方法可以由计算机设备来实现。图4为根据本申请实施例的目标运动状态判断设备的硬件结构示意图。
计算机设备可以包括处理器41以及存储有计算机程序指令的存储器42。
具体地,上述处理器41可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器42可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器42可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器42可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器42可在数据处理装置的内部或外部。在特定实施例中,存储器42是非易失性(Non-Volatile)存储器。在特定实施例中,存储器42包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器42可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器41所执行的可能的计算机程序指令。
处理器41通过读取并执行存储器42中存储的计算机程序指令,以实现上述实施例中的任意一种日志记录获取方法。
在其中一些实施例中,计算机设备还可包括通信接口43和总线40。其中,如图4所示,处理器41、存储器42、通信接口43通过总线40连接并完成相互间的通信。
通信接口43用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口43还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线40包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线40包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线40可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线40可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于获取到的计算机程序指令,执行本申请实施例中的日志记录获取方法,从而实现结合图1描述的日志记录获取方法。
另外,结合上述实施例中的日志记录获取方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种日志记录获取方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种日志记录获取方法,应用于服务器端,其特征在于,包括:
获取目标程序启动信息,所述目标程序启动信息在所述目标程序开始启动时产生,所述目标程序启动信息至少包括目标程序端的日志输出接口信息;
基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联;
基于所述目标程序启动信息向目标程序端发送日志获取指令,并通过所述服务器端的日志记录接口接收程序启动日志。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联包括:
获取所述服务器端的日志记录接口地址;
基于所述目标程序启动信息,获取所述目标程序端的日志输出接口地址;
基于所述服务器端的日志记录接口地址以及目标程序端的日志输出地址向所述目标程序端发送地址替换指令,使目标程序端的所述日志输出接口地址替换为所述服务器端的日志记录接口地址。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标程序启动信息向目标程序端发送日志获取指令包括:
基于所述目标程序启动信息向所述目标程序端发送校验指令,所述校验指令用于校验目标程序的启动状态;
获取校验结果,所述校验结果包括所述目标程序的启动状态;
基于所述校验结果和所述目标程序启动信息向所述目标程序端发送日志获取指令。
4.根据权利要求3所述的方法,其特征在于,所述发送校验指令包括:
发送启动结果校验指令,所述启动结果校验指令用于校验所述目标程序的启动结果,所述校验结果至少包括启动成功和启动失败。
5.根据权利要求3所述的方法,其特征在于,所述发送校验指令还包括:
发送完整度校验指令,所述完整度校验指令用于校验所述目标程序的程序完整度,校验结果包括所述程序完整度高于预设阈值和所述程序完整度低于预设阈值。
6.基于权利要求3所述的方法,其特征在于,所述发送校验指令还包括:
发送启动方式校验指令,所述程序启动方式校验指令用于校验所述目标程序的启动方式,所述校验结果包括源代码解释器启动和函数族启动。
7.根据权利要求1所述的方法,其特征在于,所述通过所述日志记录接口接收程序启动日志之后还包括:
将所述程序启动日志保存到本地存储单元或云端网络。
8.一种日志记录获取装置,应用于服务器端,其特征在于,包括:
程序启动信息获取模块:用于获取目标程序启动信息,所述目标程序启动信息在所述目标程序开始启动时产生,所述目标程序启动信息至少包括目标程序端的日志输出接口信息;
接口关联模块:用于基于所述目标程序启动信息将服务器端的日志记录接口与所述目标程序端的日志输出接口进行关联;
日志记录接收模块:用于基于所述目标程序启动信息向目标程序端发送日志获取指令,并通过所述服务器端的日志记录接口接收程序启动日志。
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的日志记录获取方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的日志记录获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110483186.0A CN113220362A (zh) | 2021-04-30 | 2021-04-30 | 日志记录获取方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110483186.0A CN113220362A (zh) | 2021-04-30 | 2021-04-30 | 日志记录获取方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113220362A true CN113220362A (zh) | 2021-08-06 |
Family
ID=77090579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110483186.0A Pending CN113220362A (zh) | 2021-04-30 | 2021-04-30 | 日志记录获取方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220362A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407369A (zh) * | 2023-12-14 | 2024-01-16 | 宁德时代新能源科技股份有限公司 | 操作日志记录方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092824A (zh) * | 2017-04-13 | 2017-08-25 | 北京洋浦伟业科技发展有限公司 | 一种应用程序的运行方法及装置 |
CN109376074A (zh) * | 2018-09-14 | 2019-02-22 | 浙江口碑网络技术有限公司 | 获取日志的方法及装置、存储介质、电子装置 |
-
2021
- 2021-04-30 CN CN202110483186.0A patent/CN113220362A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092824A (zh) * | 2017-04-13 | 2017-08-25 | 北京洋浦伟业科技发展有限公司 | 一种应用程序的运行方法及装置 |
CN109376074A (zh) * | 2018-09-14 | 2019-02-22 | 浙江口碑网络技术有限公司 | 获取日志的方法及装置、存储介质、电子装置 |
Non-Patent Citations (2)
Title |
---|
ANDROID-李志强: "android抓取错误日志并上报到服务器", 《HTTPS: ://BLOG.CSDN.NET/LCWOOOO/ARTICLE/DETAILS/79087704》 * |
DRAGONFLY: "iOS中日志同步获取NSLog重定向以及其他详解", 《HTTPS://WWW.FREESION.COM/ARTICLE/4301955731/》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407369A (zh) * | 2023-12-14 | 2024-01-16 | 宁德时代新能源科技股份有限公司 | 操作日志记录方法、装置及电子设备 |
CN117407369B (zh) * | 2023-12-14 | 2024-05-28 | 宁德时代新能源科技股份有限公司 | 操作日志记录方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162435B (zh) | 一种服务器pxe启动测试方法、系统、终端及存储介质 | |
CN111209151A (zh) | 基于linux的NVME SSD热拔插测试方法、系统、终端及存储介质 | |
CN112231005B (zh) | 一种基于uboot管理fpga版本的方法 | |
CN111158945B (zh) | 内核故障处理方法、装置、网络安全设备和可读存储介质 | |
CN112100060A (zh) | 运行环境自适应方法、装置和计算机可读存储介质 | |
CN112417014A (zh) | 动态修改执行计划方法、系统、计算机可读存储介质 | |
CN115547395A (zh) | 测试方法、系统及闪存设备 | |
CN113220362A (zh) | 日志记录获取方法、装置、计算机设备和存储介质 | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
CN113282347B (zh) | 插件运行方法、装置、设备及存储介质 | |
CN114036042A (zh) | 一种模型测试方法、装置、计算机和可读存储介质 | |
CN111694588B (zh) | 引擎升级检测方法、装置、计算机设备和可读存储介质 | |
CN110908725B (zh) | 应用程序启动方法、装置、电子设备及可读介质 | |
CN110888686B (zh) | 应用程序启动方法、设备和存储介质 | |
CN112527335A (zh) | 自动化处理npm依赖包安装的方法、系统和计算机设备 | |
CN112199281A (zh) | 一种数据处理方法、装置、终端设备及可读存储介质 | |
CN112861188A (zh) | 用于多集群的数据汇集系统和方法 | |
CN114168947B (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
CN114385379B (zh) | 板载信息刷写检测方法、系统、终端及存储介质 | |
CN113900934B (zh) | 多镜像混合刷新测试方法、系统、终端及存储介质 | |
CN110321274B (zh) | 一种应用程序的测试方法、装置、计算设备及存储介质 | |
CN117591490A (zh) | 审计日志的数据处理方法、装置、设备及存储介质 | |
CN113656090A (zh) | Api调用增强方法、系统、存储介质及电子设备 | |
CN116069652A (zh) | 一种消息推送服务的测试方法、计算设备及存储介质 | |
CN112214790A (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: 20210806 |
|
RJ01 | Rejection of invention patent application after publication |