CN112905430A - 日志输出方法、装置、存储介质及电子装置 - Google Patents
日志输出方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112905430A CN112905430A CN202110206111.8A CN202110206111A CN112905430A CN 112905430 A CN112905430 A CN 112905430A CN 202110206111 A CN202110206111 A CN 202110206111A CN 112905430 A CN112905430 A CN 112905430A
- Authority
- CN
- China
- Prior art keywords
- log
- target
- running
- period
- state
- 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.)
- Granted
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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
技术领域
本发明实施例涉及电力设备评估领域,具体而言,涉及一种日志输出方法、装置、存储介质及电子装置。
背景技术
随着移动互联网技术和网络技术的快速发展,终端APP(Application,应用)的使用也越来越多,例如,移动终端APP作为一个平台,其用户的人数在急速增长,移动APP的开发能力已成为相关企业的核心竞争力,对APP的运维工作也受到相关企业的高度重视,APP在使用中难免会出现各类问题,而日志可记录应用运行行为、运行状态及发生问题等信息,其在异常行为排查、问题诊断与分析等工作中有着广泛的应用,开发和运维人员需要查看APP的日志信息来进行问题排查,可以根据反馈的APP异常原因对产品进行改善,因此,对日志的管理显得尤为重要。通常一个日志文件中记录了大量的日志消息,这其中有很多是无用的信息,例如,在一次APP正常启动后,当系统运行一切正常且是正常退出的情况下,此时说明APP应用是能够正常运行的,而该次运行中产生的日志信息对相关产品的改进工作来说意义不大,目前,相关技术中普遍存在着在输出日志信息时,会输出冗余的日志信息,从而导致后续在基于输出的日志信息进行数据分析时,需要分析过多的日志信息,使得数据分析量过大的问题。
针对现有技术中存在的在输出日志信息时,会输出冗余的日志信息,从而导致后续在基于输出的日志信息进行数据分析时,需要分析过多的日志信息,使得数据分析量过大的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种日志输出方法、装置、存储介质及电子装置,以至少解决相关技术中存在的在输出日志信息时,会输出冗余的日志信息,从而导致后续在基于输出的日志信息进行数据分析时,需要分析过多的日志信息,使得数据分析量过大的问题。
根据本发明的一个实施例,提供了一种日志输出方法,包括:在接收到用于请求调用目标应用的日志的调用请求的情况下,确定所述目标应用的运行状态;基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志;输出所述目标日志。
在一个示例性实施例中,基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志包括:基于所述运行状态确定所述目标运行周期;调取所述目标应用在所述目标运行周期内运行时,所生成的所述目标日志。
在一个示例性实施例中,基于所述运行状态确定所述目标运行周期包括:在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中存储有日志的情况下,将距当前时间最近的上一个第一运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中未存储有日志的情况下,将距当前时间最近的下一个第二运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;在确定所述运行状态为运行态的情况下,将当前运行周期确定为所述目标运行周期,其中,所述运行态用于指示所述目标应用处于运行状态。
在一个示例性实施例中,在将距当前时间最近的上一个第一运行周期确定为所述目标运行周期之前,所述方法还包括:在所述目标应用在所述第一运行周期内运行的情况下,缓存所述目标应用在所述第一运行周期内运行时所生成的实时日志;在确定所述目标应用在所述第一运行周期内运行结束的情况下,确定所述目标应用在所述第一运行周期内运行的结束状态;在确定所述结束状态为正常结束的情况下,删除所述实时日志;在确定所述结束状态为异常结束的情况下,将所述实时日志存储至所述目标存储区域中。
在一个示例性实施例中,在确定所述目标应用在所述第一运行周期内运行的结束状态之后,所述方法还包括:在确定所述结束状态为正常结束的情况下,判断所述目标存储区域中是否存储有第一日志,其中,所述第一日志为所述目标应用在第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;在判断结果为所述目标存储区域中存储有所述第一日志的情况下,清除所述第一日志。
在一个示例性实施例中,将所述实时日志存储至所述目标存储区域中包括:判断所述目标存储区域中是否存储有第二日志,其中,所述第二日志为所述目标应用在所述第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;在判断结果为所述目标存储区域中存储有所述第二日志的情况下,清除所述第二日志,并将所述实时日志存储至所述目标存储区域中;在判断结果为所述目标存储区域中未存储有所述第二日志的情况下,直接将所述实时日志存储至所述目标存储区域中。
在一个示例性实施例中,输出所述目标日志包括:将所述目标日志输出至目标显示区域中进行显示。
根据本发明的另一个实施例,还提供了一种日志输出装置,包括:确定模块,用于在接收到用于请求调用目标应用的日志的调用请求的情况下,确定所述目标应用的运行状态;获取模块,用于基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志;输出模块,用于输出所述目标日志。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,基于目标应用的不同运行状态获取所述目标应用在对应目标运行周期内运行时所生成的目标日志并进行输出,即,实现了仅输出目标运行周期内所生成的日志的目的,因此,能够实现仅获取特定运行周期内所产生的日志内容,去除冗余的日志信息,进而降低后续的数据的分析量,提高分析效率。解决了相关技术中存在的在输出日志信息时,会输出冗余的日志信息,从而导致后续在基于输出的日志信息进行数据分析时,需要分析过多的日志信息,使得数据分析量过大的问题,进而达到了减少日志信息的输出量,进而降低后续的数据分析量,提高分析效率的效果。
附图说明
图1是本发明实施例的日志输出方法的移动终端硬件结构框图;
图2是根据本发明实施例的日志输出方法的流程图;
图3是根据本发明实施例的日志运行周期示例图;
图4是根据本发明实施例的日志运行状态示例图;
图5是根据本发明实施例的日志运行轨迹示例图;
图6是根据本发明实施例的APP退出时日志管理示例图;
图7是根据本发明实施例的APP日志输出示例图;
图8是根据本发明实施例的日志使用流程图;
图9是根据本发明实施例的日志管理整体流程图;
图10是根据本发明实施例的日志输出装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种日志输出方法的移动终端硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的日志输出方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种日志输出方法,图2是根据本发明实施例的日志输出方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在接收到用于请求调用目标应用的日志的调用请求的情况下,确定所述目标应用的运行状态;
步骤S204,基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志;
步骤S206,输出所述目标日志。
通过上述步骤,基于目标应用的不同运行状态获取所述目标应用在对应目标运行周期内运行时所生成的目标日志并进行输出,即,实现了仅输出目标运行周期内所生成的日志的目的,因此,能够实现仅获取特定运行周期内所产生的日志内容,去除冗余的日志信息,进而降低后续的数据的分析量,提高分析效率。解决了相关技术中存在的在输出日志信息时,会输出冗余的日志信息,从而导致后续在基于输出的日志信息进行数据分析时,需要分析过多的日志信息,使得数据分析量过大的问题,进而达到了减少日志信息的输出量,进而降低后续的数据分析量,提高分析效率的效果。
其中,上述步骤的执行主体可以为计算机终端或服务器,如应用软件的后台运行管理系统、具备日志管理能力的运行平台等,或者为配置在存储设备上的具备人机交互能力的处理器,或者为具备类似处理能力的处理设备或处理单元等,但不限于此。下面以应用软件的后台运行管理系统执行上述操作为例(仅是一种示例性说明,在实际操作中还可以是其他的设备或模块来执行上述操作)进行说明:
在上述实施例中,应用软件的后台运行管理系统在接收到用于请求调用目标应用的日志的调用请求的情况下,确定所述目标应用的运行状态,例如,某应用APP的研发或运维人员需要调用该APP的日志,后台运行管理系统在接收到上述调用日志请求的情况下,确定该APP的运行状态,即确定该APP是否处于运行状态;在确定上述APP的运行状态的情况下,获取该APP在目标运行周期内运行时所生成的目标日志,即在上述APP处于不同的运行状态的情况下,其中,所述运行状态包括运行态、未运行态,获取的日志为不同运行周期内运行时所生成的日志;在获取到APP在上述相应运行周期内所生成的日志之后,即可输出所需要的日志,此时,APP的研发或运维人员即可查看该APP的相关运行日志,为APP的运行分析和产品改进提供参考。
在一个可选的实施例中,基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志包括:基于所述运行状态确定所述目标运行周期;调取所述目标应用在所述目标运行周期内运行时,所生成的所述目标日志。在本实施例中,应用软件的后台运行管理系统基于目标应用(如应用APP)的运行状态确定所要查看的日志的目标运行周期,一个APP的单次运行周期可以如图3所示,图3是根据本发明实施例的日志运行周期示例图,在确定上述目标运行周期后,即可调取上述应用APP在上述目标周期内运行时所生成的所述目标日志;例如,应用APP的运行状态为运行态时,所要查看的日志的目标运行周期即为当前运行周期,在确定目标运行周期为当前运行周期后,即可调取上述应用APP在当前运行周期内运行时生成的日志,即此时要查看的日志为实时日志。
在一个可选的实施例中,基于所述运行状态确定所述目标运行周期包括:在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中存储有日志的情况下,将距当前时间最近的上一个第一运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中未存储有日志的情况下,将距当前时间最近的下一个第二运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;在确定所述运行状态为运行态的情况下,将当前运行周期确定为所述目标运行周期,其中,所述运行态用于指示所述目标应用处于运行状态。下面结合附图4具体描述运行态和未运行态,图4为根据本发明实施例的日志运行状态示例图。
一个APP的启动是由支撑其运行的平台在收到某个触发信号(如:人工手动点击了开始/打开按钮),这个时候支撑平台是可以准确的知道APP在一个运行周期的起点;当支撑平台收到某个外部触发信号(如:人工手动点击停止/关闭按钮),这个时候支撑平台是可以准确的知道APP在这个运行周期的终点;当APP出现异常Crash(崩溃)了,支撑平台接收到这个Crash信号后,也是能够准确分别出APP结束了这个运行周期。基于支撑平台能够准确的感知到这三个事件,支撑平台可以根据这三个明确的事件进行日志管理,设备内部的日志管理,都是为了解决用户具体的需求。
在实际应用中,一般在一个运行周期以异常退出结束时,目标存储区域将存储用于记录所述异常退出所在运行周期内生成的日志(或称为异常日志),即目标存储区域用于存储所述异常日志。在上述可选的实施例中,在确定目标应用(如应用APP)未处于运行态时,此时若确定所述目标存储区域中存储有日志的情况下(即存储区域有异常日志),将距离当前时间最近的上一个第一运行周期确定为目标运行周期,结合后述实施例可知,在一个运行周期以异常退出作为结束时,存储区域才会有存储异常日志,例如,在确定所述目标存储区域中存储有日志的情况下,即上一个运行周期是以异常退出为结束的,则将上一个运行周期确定为目标运行周期,此时,用户要查看的日志信息为记录上一个运行周期的异常日志;在确定应用APP未处于运行态时,而且若确定所述目标存储区域中未存储有日志的情况下(即存储区域未有异常日志),将距当前时间最近的下一个第二运行周期确定为所述目标运行周期,即在APP未处于运行态且确定目标存储区域中未有异常日志的情况下,上述应用APP的后台运行管理系统的日志查看窗口将处于等待状态,等待上述应用APP在下一个第二运行周期内运行时所生成的日志;在确定应用APP处于运行态时,则将当前运行周期确定为所述目标运行周期,即应用APP的后台运行管理系统的日志查看窗口此时查看的日志为实时日志。
在一个可选的实施例中,在将距当前时间最近的上一个第一运行周期确定为所述目标运行周期之前,所述方法还包括:在所述目标应用在所述第一运行周期内运行的情况下,缓存所述目标应用在所述第一运行周期内运行时所生成的实时日志;在确定所述目标应用在所述第一运行周期内运行结束的情况下,确定所述目标应用在所述第一运行周期内运行的结束状态;在确定所述结束状态为正常结束的情况下,删除所述实时日志;在确定所述结束状态为异常结束的情况下,将所述实时日志存储至所述目标存储区域中。图5为根据本发明实施例的日志运行轨迹示例图,从图5中可看出,一个APP的运行轨迹,在时间线上,启动/停止的事件是离散随机交替地出现。在本实施例中,在将距当前时间最近的上一个第一运行周期确定为所述目标运行周期之前,所述目标应用(如应用APP)在上述第一运行周期内运行时,先缓存该应用APP在所述第一运行周期内运行时所生成的实时日志,若上述应用APP在所述第一运行周期内运行是以正常结束为结束状态时,应用APP将删除上述实时日志,若上述应用APP在所述第一运行周期内运行是以异常结束为结束状态时,应用APP将上述实时日志存储至前述目标存储区域中,作为异常日志进行存储;例如,上述应用APP在内部设有一个缓存区域,用于保存在任一个运行周期内生成的实时日志,可选地,在实际应用中,实时日志的设计可采用一个缓冲队列。
在一个可选的实施例中,在确定所述目标应用在所述第一运行周期内运行的结束状态之后,所述方法还包括:在确定所述结束状态为正常结束的情况下,判断所述目标存储区域中是否存储有第一日志,其中,所述第一日志为所述目标应用在第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;在判断结果为所述目标存储区域中存储有所述第一日志的情况下,清除所述第一日志。在本实施例中,在确定所述目标应用(如APP应用)在所述第一运行周期内的结束状态为正常结束的情况下,先判断在所述第一运行周期的前一个运行周期(即所述第三运行周期)结束后,上述目标存储区域(用于存储异常日志的区域)是否有存储第一日志,在判断结果为所述目标存储区域中存储有上述第一日志的情况下,清除所述第一日志,即在一次运行周期的结束状态是正常结束的情况下,APP应用将会检查所述目标存储区域是否存储有异常日志(即上述第一日志),若有则进行清除,因为该次运行是以正常结束状态结束运行的,而只有在运行周期是以异常结束状态结束运行的情况下,存储区域才会存储用于记录所述异常结束所在运行周期内生成的日志,即存储区域保存的日志是上次APP运行周期内生成的异常日志,如果上次APP运行周期是正常结束,则会进行异常日志清除。因此,实现了及时清理冗余的日志信息进而达到了节省日志存储资源的效果。
在一个可选的实施例中,将所述实时日志存储至所述目标存储区域中包括:判断所述目标存储区域中是否存储有第二日志,其中,所述第二日志为所述目标应用在所述第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;在判断结果为所述目标存储区域中存储有所述第二日志的情况下,清除所述第二日志,并将所述实时日志存储至所述目标存储区域中;在判断结果为所述目标存储区域中未存储有所述第二日志的情况下,直接将所述实时日志存储至所述目标存储区域中。在本实施例中,将所述实时日志存储至所述目标存储区域中的过程包括:先判断所述目标存储区域中是否存储有第二日志(即在所述第一运行周期的前一个运行周期是以异常结束状态结束运行的情况下,所述目标应用在该周期内运行时所生成的日志,此处第二日志为异常日志),在判断结果为所述目标存储区域中存储有所述第二日志的情况下,清除所述第二日志,并将所述实时日志存储至所述目标存储区域中,图6为根据本发明实施例的APP退出时日志管理示例图,即在一次运行周期的结束状态是异常结束的情况下,此时产生的实时日志为新异常日志,如果判断出所述目标存储区域中存储有第二日志(也可叫旧异常日志)的情况下,将进行旧异常日志的清除和新异常日志的存储,以确保目标存储区域只保存最近一次的异常日志,方便研发和运维人员进行查看和分析,同时也节省了日志存储资源。
在一个可选的实施例中,输出所述目标日志包括:将所述目标日志输出至目标显示区域中进行显示。在本实施例中,在基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志后,输出所述目标日志并在目标显示区域进行显示,图7为根据本发明实施例的APP日志输出示例图,实时日志的设计采用了一个缓冲队列,APP将日志打印输出到一个“日志缓冲队列”中,在实际应用中,可根据需要或某些条件,将日志输出到控制台窗口或浏览器或转储文件。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
下面结合实施例对本发明进行具体说明:
图8是根据本发明实施例的日志使用流程图,如图8所示,该流程包括如下步骤:
S802,接收使用者的请求,以请求查看APP的日志;
S804,进行第一次判断,判断APP是否在运行中;
S806,在上述第一次判断的结果为APP在运行中的情况下,显示APP的实时日志;
S808,在上述第一次判断的结果为APP未在运行中的情况下,进行第二次判断,判断内部存储区(对应于前述的目标存储区域)是否存在异常日志;
S810,在上述第二次判断的结果为内部存在异常日志的情况下,显示APP异常日志,同时日志查看窗口进入等待状态;
S812,在上述第二次判断的结果为内部不存在异常日志的情况下,进入等待状态;
S814,在等待状态时,一旦该APP被启动,则会进入实时日志显示的环节。
在本实施例中,当用户随时进行查看某个APP的日志时(比如通过控制台窗口或Web方式),此时APP会所处的状态为:未运行状态或运行状态,针对这两种状态:
如果APP处于运行状态,则将当前APP的实时日志输出;
如果APP处于未运行状态,则检查设备上是否存在该APP的异常日志,如果存在则显示异常日志,将异常日志显示完成后,进入一个等待状态;如果设备上不存在该APP的异常日志,则会立即进入等待状态;一旦该APP被启动,则会进入实时日志显示的环节。
针对相关技术中采取的在APP开始启动时进行异常日志的清理会导致上次运行的异常日志丢失的问题,本发明通过选定结束退出作为数据处理的事件节点,通过明确的“结束退出”(包括APP异常退出和APP手动停止)节点进行原有的异常日志的清除和新的异常日志的存储,解决了现有技术中存在的相关问题,下面再结合实施例对本发明进行整体说明:
图9是根据本发明实施例的日志管理整体流程图,如图9所示,该流程包括以下步骤:
S902,用户发起请求,以请求查看APP的日志;
S904,进行第一次判断,判断APP是否在运行中;
S906,在上述第一次判断的结果为APP未在运行中的情况下,进行第二次判断,判断内部存储区(对应于前述的目标存储区域)是否存在异常日志;
S908,在上述第二次判断的结果为内部存在异常日志的情况下,显示APP异常日志,同时日志查看窗口进入等待状态;
S910,APP日志查看窗口进入等待状态(即图9中的“W”),在上述第二次判断的结果为内部不存在异常日志的情况下,也会立即进入等待状态;
S912,用户进行日志请求终止操作(比如:关闭Web日志浏览器窗口、关闭日志控制台窗口),则日志操作结束;
S914,进入结束状态(即图9中的“E”),表示日志查看已结束;
S916,用户进行APP启动操作,将APP启动运行,此时APP进入运行状态;
S918,进入实时日志输出环节;
S920,在日志实时输出时,APP运行突然发生异常引发APP异常退出;
S922,进行第三次判断,判断内部存储区(对应于前述的目标存储区域)是否存在异常日志;
S924,在上述第三次判断的结果为内部不存在异常日志(对应于前述的旧异常日志)的情况下,将日志缓冲队列中的数据Dump(即转存)到持久存储器(如:Flash、硬盘)上,作为最新的异常日志保存在内部存储区(对应于前述的目标存储区域),然后进入W(等待)状态;
S926,在上述第三次判断的结果为内部存在异常日志(对应于前述的新异常日志)的情况下,清除老的异常日志(即旧异常日志),然后将日志缓冲队列中的数据Dump(即转存)到持久存储器(如:Flash、硬盘,相当于前述的目标存储区域)上,作为最新的异常日志保存在内部存储区(对应于前述的目标存储区域);
S928,在日志实时输出时,用户进行日志请求终止操作(比如:关闭Web日志浏览器窗口、关闭日志控制台窗口),则日志操作结束;
S930,在日志实时输出时,用户手动停止APP,此时支撑APP运行的平台会收到APP停止信号,可以判定为APP是用户正常停止;
S932,进行第四次判断,判断内部存储区(对应于前述的目标存储区域)是否存在异常日志;
S934,在上述第四次判断的结果为内部存在异常日志(对应于前述的新异常日志)的情况下,清除老的异常日志(即旧异常日志),然后进入等待状态,另外,在上述第四次判断的结果为内部不存在异常日志的情况下,将直接进入等待状态。
在上述步骤中,S934与S926的区别在于:完成S934后将进入等待状态,而完成S926后将存储新异常日志,原因是S934是针对在日志实时输出环节发生手动停止APP的情况,而S926是针对在日志实时输出环节发生APP异常退出的情况。
为了方便理解上述实施步骤,表1、表2中示出了图9中的部分符号对应的具体描述,其中,表1为各异常日志环节的描述,表2为日志查看窗口的状态描述。
表1各异常日志环节的描述
表2日志查看窗口的状态描述
日志查看窗口状态 | 描述 |
S | 初始状态:还未打开日志查看窗口,准备查看 |
W | 日志窗口已经打开,停留在日志查看窗口 |
E | 日志窗口关闭,查看日志活动结束 |
通过上述步骤的实施,在异常退出时,可以进行旧异常日志的清除和新异常日志的存储,另外,在手动退出(即上述步骤S930)时,进行旧异常日志的清除,实现了内部存储区域有且至多有一份异常日志,同时也节省了存储空间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种日志输出装置,图10是根据本发明实施例的日志输出装置的结构框图,如图10所示,该装置包括:
确定模块1002,用于在接收到用于请求调用目标应用的日志的调用请求的情况下,确定所述目标应用的运行状态;
获取模块1004,用于基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志;
输出模块1006,用于输出所述目标日志。
在一个可选的实施例中,所述获取模块1004包括:确定单元,用于基于所述运行状态确定所述目标运行周期;调取单元,用于调取所述目标应用在所述目标运行周期内运行时,所生成的所述目标日志。
在一个可选的实施例中,所述确定单元还包括:第一确定子单元,用于在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中存储有日志的情况下,将距当前时间最近的上一个第一运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;第二确定子单元,用于在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中未存储有日志的情况下,将距当前时间最近的下一个第二运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;第三确定子单元,用于在确定所述运行状态为运行态的情况下,将当前运行周期确定为所述目标运行周期,其中,所述运行态用于指示所述目标应用处于运行状态。
在一个可选的实施例中,上述装置还包括:缓存模块,用于在将距当前时间最近的上一个第一运行周期确定为所述目标运行周期之前,且在所述目标应用在所述第一运行周期内运行的情况下,缓存所述目标应用在所述第一运行周期内运行时所生成的实时日志;第一确定模块,用于在确定所述目标应用在所述第一运行周期内运行结束的情况下,确定所述目标应用在所述第一运行周期内运行的结束状态;删除模块,用于在确定所述结束状态为正常结束的情况下,删除所述实时日志;存储模块,用于在确定所述结束状态为异常结束的情况下,将所述实时日志存储至所述目标存储区域中。
在一个可选的实施例中,上述装置还包括:判断模块,用于在确定所述目标应用在所述第一运行周期内运行的结束状态之后,且在确定所述结束状态为正常结束的情况下,判断所述目标存储区域中是否存储有第一日志,其中,所述第一日志为所述目标应用在第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;清除模块,用于在判断结果为所述目标存储区域中存储有所述第一日志的情况下,清除所述第一日志。
在一个可选的实施例中,上述存储模块包括:判断单元,用于判断所述目标存储区域中是否存储有第二日志,其中,所述第二日志为所述目标应用在所述第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;处理单元,用于在判断结果为所述目标存储区域中存储有所述第二日志的情况下,清除所述第二日志,并将所述实时日志存储至所述目标存储区域中;存储单元,用于在判断结果为所述目标存储区域中未存储有所述第二日志的情况下,直接将所述实时日志存储至所述目标存储区域中。
在一个可选的实施例中,所述输出模块1006包括:输出单元,用于将所述目标日志输出至目标显示区域中进行显示。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种日志输出方法,其特征在于,包括:
在接收到用于请求调用目标应用的日志的调用请求的情况下,确定所述目标应用的运行状态;
基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志;
输出所述目标日志。
2.根据权利要求1所述的方法,其特征在于,基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志包括:
基于所述运行状态确定所述目标运行周期;
调取所述目标应用在所述目标运行周期内运行时,所生成的所述目标日志。
3.根据权利要求2所述的方法,其特征在于,基于所述运行状态确定所述目标运行周期包括:
在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中存储有日志的情况下,将距当前时间最近的上一个第一运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;
在确定所述运行状态为未运行态的情况下,且在确定目标存储区域中未存储有日志的情况下,将距当前时间最近的下一个第二运行周期确定为所述目标运行周期,其中,所述未运行态用于指示所述目标应用未处于运行状态;
在确定所述运行状态为运行态的情况下,将当前运行周期确定为所述目标运行周期,其中,所述运行态用于指示所述目标应用处于运行状态。
4.根据权利要求3所述的方法,其特征在于,在将距当前时间最近的上一个第一运行周期确定为所述目标运行周期之前,所述方法还包括:
在所述目标应用在所述第一运行周期内运行的情况下,缓存所述目标应用在所述第一运行周期内运行时所生成的实时日志;
在确定所述目标应用在所述第一运行周期内运行结束的情况下,确定所述目标应用在所述第一运行周期内运行的结束状态;
在确定所述结束状态为正常结束的情况下,删除所述实时日志;
在确定所述结束状态为异常结束的情况下,将所述实时日志存储至所述目标存储区域中。
5.根据权利要求4所述的方法,其特征在于,在确定所述目标应用在所述第一运行周期内运行的结束状态之后,所述方法还包括:
在确定所述结束状态为正常结束的情况下,判断所述目标存储区域中是否存储有第一日志,其中,所述第一日志为所述目标应用在第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;
在判断结果为所述目标存储区域中存储有所述第一日志的情况下,清除所述第一日志。
6.根据权利要求4所述的方法,其特征在于,将所述实时日志存储至所述目标存储区域中包括:
判断所述目标存储区域中是否存储有第二日志,其中,所述第二日志为所述目标应用在第三运行周期内运行异常结束的情况下,所存储的所述目标应用在所述第三运行周期内运行时所生成的日志,所述第三运行周期为所述第一运行周期的前一个运行周期;
在判断结果为所述目标存储区域中存储有所述第二日志的情况下,清除所述第二日志,并将所述实时日志存储至所述目标存储区域中;
在判断结果为所述目标存储区域中未存储有所述第二日志的情况下,直接将所述实时日志存储至所述目标存储区域中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,输出所述目标日志包括:
将所述目标日志输出至目标显示区域中进行显示。
8.一种日志输出装置,其特征在于,包括:
确定模块,用于在接收到用于请求调用目标应用的日志的调用请求的情况下,确定所述目标应用的运行状态;
获取模块,用于基于所述运行状态获取所述目标应用在目标运行周期内运行时所生成的目标日志;
输出模块,用于输出所述目标日志。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110206111.8A CN112905430B (zh) | 2021-02-24 | 2021-02-24 | 日志输出方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110206111.8A CN112905430B (zh) | 2021-02-24 | 2021-02-24 | 日志输出方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905430A true CN112905430A (zh) | 2021-06-04 |
CN112905430B CN112905430B (zh) | 2023-06-13 |
Family
ID=76106898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110206111.8A Active CN112905430B (zh) | 2021-02-24 | 2021-02-24 | 日志输出方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905430B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013147226A1 (ja) * | 2012-03-30 | 2013-10-03 | 日本電信電話株式会社 | 利用者体感品質推定装置、端末ボトルネック判定装置、類似操作抽出装置、及び方法、並びにプログラム |
US20140208420A1 (en) * | 2013-01-23 | 2014-07-24 | Owl Computing Technologies, Inc. | System for remotely monitoring status information of devices connected to a network |
JP2016076071A (ja) * | 2014-10-06 | 2016-05-12 | 富士通株式会社 | ログ管理装置,ログ管理プログラム,及びログ管理方法 |
US9813443B1 (en) * | 2015-02-13 | 2017-11-07 | Symantec Corporation | Systems and methods for remediating the effects of malware |
CN107995676A (zh) * | 2017-11-24 | 2018-05-04 | 北京小米移动软件有限公司 | 终端控制方法及装置 |
CN108304310A (zh) * | 2018-02-28 | 2018-07-20 | 厦门美图移动科技有限公司 | 一种日志分析方法及计算设备 |
US20180349801A1 (en) * | 2015-12-28 | 2018-12-06 | Nec Corporation | Log analysis system, log analysis method, and log analysis program |
CN109840188A (zh) * | 2017-11-24 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种日志的获取方法及其终端 |
CN111092759A (zh) * | 2019-12-13 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种jbod带外管理系统中日志管理的方法、设备及介质 |
CN111555902A (zh) * | 2020-03-25 | 2020-08-18 | 国网思极网安科技(北京)有限公司 | 一种网络传输异常的定位系统和方法 |
WO2020233219A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 异常问题的定位方法、装置、设备及计算机可读存储介质 |
CN112380105A (zh) * | 2020-11-23 | 2021-02-19 | 华人运通(上海)云计算科技有限公司 | 日志收集方法、装置、系统、设备、存储介质及插件 |
-
2021
- 2021-02-24 CN CN202110206111.8A patent/CN112905430B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013147226A1 (ja) * | 2012-03-30 | 2013-10-03 | 日本電信電話株式会社 | 利用者体感品質推定装置、端末ボトルネック判定装置、類似操作抽出装置、及び方法、並びにプログラム |
US20140208420A1 (en) * | 2013-01-23 | 2014-07-24 | Owl Computing Technologies, Inc. | System for remotely monitoring status information of devices connected to a network |
JP2016076071A (ja) * | 2014-10-06 | 2016-05-12 | 富士通株式会社 | ログ管理装置,ログ管理プログラム,及びログ管理方法 |
US9813443B1 (en) * | 2015-02-13 | 2017-11-07 | Symantec Corporation | Systems and methods for remediating the effects of malware |
US20180349801A1 (en) * | 2015-12-28 | 2018-12-06 | Nec Corporation | Log analysis system, log analysis method, and log analysis program |
CN107995676A (zh) * | 2017-11-24 | 2018-05-04 | 北京小米移动软件有限公司 | 终端控制方法及装置 |
CN109840188A (zh) * | 2017-11-24 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种日志的获取方法及其终端 |
CN108304310A (zh) * | 2018-02-28 | 2018-07-20 | 厦门美图移动科技有限公司 | 一种日志分析方法及计算设备 |
WO2020233219A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 异常问题的定位方法、装置、设备及计算机可读存储介质 |
CN111092759A (zh) * | 2019-12-13 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种jbod带外管理系统中日志管理的方法、设备及介质 |
CN111555902A (zh) * | 2020-03-25 | 2020-08-18 | 国网思极网安科技(北京)有限公司 | 一种网络传输异常的定位系统和方法 |
CN112380105A (zh) * | 2020-11-23 | 2021-02-19 | 华人运通(上海)云计算科技有限公司 | 日志收集方法、装置、系统、设备、存储介质及插件 |
Also Published As
Publication number | Publication date |
---|---|
CN112905430B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108521353B (zh) | 定位性能瓶颈的处理方法、设备及可读存储介质 | |
CN107798108B (zh) | 一种异步任务查询方法及设备 | |
CN110716848A (zh) | 数据收集方法、装置、电子设备及存储介质 | |
CN111585837B (zh) | 物联网数据链路监控方法、装置、计算机设备和存储介质 | |
CN114978883B (zh) | 网络唤醒的管理方法、装置、电子设备及存储介质 | |
CN112256551A (zh) | 一种远程日志抓取方法、装置、电子设备和存储介质 | |
CN109409948B (zh) | 交易异常检测方法、装置、设备及计算机可读存储介质 | |
CN108923967B (zh) | 一种去重流量记录方法、装置、服务器及存储介质 | |
CN112671878B (zh) | 一种区块链的信息订阅方法、装置、服务器和存储介质 | |
CN114546830A (zh) | 回归测试方法、装置、电子设备及存储介质 | |
CN108920346A (zh) | web服务器接口耗时统计方法及装置 | |
CN110011845B (zh) | 日志采集方法及系统 | |
CN112905430A (zh) | 日志输出方法、装置、存储介质及电子装置 | |
CN115865734A (zh) | 一种故障检测方法、数据生成方法、装置、设备及介质 | |
CN111159009A (zh) | 一种日志服务系统的压力测试方法及装置 | |
CN107342917B (zh) | 用于检测网络设备性能的方法和装置 | |
CN115309638A (zh) | 协助模型优化的方法及装置 | |
CN111177196A (zh) | 时间窗聚合计算方法及装置 | |
CN116016257B (zh) | 状态监测方法、装置、设备及存储介质 | |
CN113905335B (zh) | 一种短信通道质量检测的方法、拨测设备及存储介质 | |
CN116166701B (zh) | 一种业务数据实时预警方法、装置、设备及存储介质 | |
US20060069766A1 (en) | Method and system for treating events and data uniformly | |
US20230064755A1 (en) | Data processing method and apparatus | |
CN116319454A (zh) | 应用程序网络耗时检测方法、装置、设备及存储介质 | |
CN111475322A (zh) | 定位stuck线程的方法、装置、计算机设备及可读存储介质 |
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 |