一种输出程序日志的方法及装置与流程

文档序号:17441813发布日期:2019-04-17 04:51阅读:136来源:国知局
一种输出程序日志的方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种输出程序日志的方法及装置。



背景技术:

日志一般用于记录程序运行信息,从而使开发者方便开发调试,了解生产环境执行情况。随着技术的不断发展,可以为用户提供的移动终端产品的品种和类型也越来越多,针对不同种类的移动终端,商家为用户提供的应用软件也越来越多,在应用软件正式发布之前,一般都需要测试人员对相关应用软件测试。在应用软件测试过程中,可以通过日志记录被测应用软件的运行状态,调试和定位应用程序运行过程中的问题,以达到测试应用软件的目的。

随着互联网的高速发展,大量新设备,新技术的使用,使网络的复杂度也成指数倍提升,因此网络故障的风险大大加强。由于新设备和新技术的采用,且各个技术和设备都有自己的监控和日志系统,导致了各个设备产生大量分散的异构数据,数据彼此无法关联,造成无法统一归档分析和故障预判。



技术实现要素:

本申请提供了一种输出程序日志的方法及装置,以解决现有程序日志存在大量分散的异构数据,无法统一归档分析和故障预判的问题。

第一方面,为实现上述目的,本申请提供了一种输出程序日志的方法,所述方法包括:

获取预设输出等级;

获取程序日志的等级;

判断所述程序日志的等级是否满足预设输出条件;

如果满足所述预设输出条件,获取所述程序日志的等级标识和所述程序日志的内容;

获取所述程序日志的等级对应的等级缩进;

输出所述程序日志,其中,输出的所述程序日志包括:所述等级标识、所述等级缩进和所述程序日志的内容。

优选地,判断所述程序日志的等级是否满足预设输出条件包括:

如果所述程序日志的等级高于或等于预设输出等级,则满足预设输出条件;

如果所述程序日志的等级低于所述预设输出等级,则不满足预设输出条件。

优选地,所述预设输出等级为最低输出等级。

优选地,判断所述程序日志的等级是否满足预设输出条件包括:

如果所述程序日志的等级为预定的多个输出等级中的一个等级,则满足预设输出条件;

如果所述程序日志的等级不为预定的多个输出等级中的任一个等级,则不满足预设输出条件。

优选地,获取所述程序日志的等级对应的等级缩进,包括:

获取预存的等级列表;

获取所述程序日志的等级对应的预设数值;

根据所述预设数值获取所述等级缩进。

优选地,所述输出所述程序日志前,还包括:

选择所述等级缩进对应的预设格式;

根据所述预设格式在所述程序日志中生成所述等级缩进。

第二方面,本申请还提供一种输出程序日志的装置,所述装置包括:

获取单元,用于获取预设输出等级;获取程序日志的等级;获取所述程序日志的等级标识和所述程序日志的内容;获取所述程序日志的等级对应的等级缩进;

处理单元,用于判断所述程序日志的等级是否满足预设输出条件;

输出单元,用于输出所述程序日志,其中,输出的所述程序日志包括:所述等级标识、所述等级缩进和所述程序日志的内容。

优选地,所述处理单元具体用于判断:如果所述程序日志的等级高于或等于预设输出等级,则满足预设输出条件;

如果所述程序日志的等级低于所述预设输出等级,则不满足预设输出条件;

还用于判断:如果所述程序日志的等级为预定的多个输出等级中的一个等级,则满足预设输出条件;

如果所述程序日志的等级不为预定的多个输出等级中的任一个等级,则不满足预设输出条件。

优选地,所述获取单元具体用于获取预存的等级列表;

获取所述程序日志的等级对应的预设数值;

根据所述预设数值获取所述等级缩进。

优选地,所述获取单元,还用于选择所述等级缩进对应的预设格式;

根据所述预设格式在所述程序日志中生成所述等级缩进。

第三方面,为实现上述目的,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项输出程序日志的方法的步骤。

第四方面,为实现上述目的,本申请提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面任一项输出程序日志的方法的步骤。

由以上技术方案可见,本申请实施例提供的一种输出程序日志的方法及装置,所述方法通过获取预设输出等级;获取程序日志的等级;判断所述程序日志的等级是否满足预设输出条件;如果满足所述预设输出条件,获取所述程序日志的等级标识和所述程序日志的内容;获取所述程序日志的等级对应的等级缩进;输出所述程序日志,其中,输出的所述程序日志包括:所述等级标识、所述等级缩进和所述程序日志的内容而实现。通过上述执行步骤,实现消除了各网络设备的间输出的程序日志的异构性,通过对格式化统一后进行数据关联,可以实现程序日志数据的实时分析和扩展。另外,添加等级缩进后使每条程序日志的等级更明显,使阅读者能一目了然地了解程序日志等级,并且使程序日志的排版更合理,易读性更高。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的输出程序日志的方法的流程示意图;

图2为本申请实施例提供的一种判断所述程序日志的等级是否满足预设输出条件的流程示意图;

图3为本申请实施例提供的另一种判断所述程序日志的等级是否满足预设输出条件的流程示意图;

图4为本申请实施例提供的获取所述程序日志的等级对应的等级缩进的流程示意图;

图5为本申请实施例提供的输出程序日志的装置的结构示意图。

具体实施方式

下面通过对本申请进行详细说明,本申请的特点和优点将随着这些说明而变得更为清楚、明确。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于本申请工作状态下的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”和“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。

下面结合附图,详细介绍本申请的具体实施例。

图1为本申请实施例提供的一种输出程序日志的方法的流程示意图,如图1所示,所述方法包括步骤s100至s600。

s100:获取预设输出等级。

所述预设输出等级可以为最低输出等级,或者根据所述预设输出条件设置的输出等级。设置所述预设输出等级可以对程序日志进行过滤处理,以筛选出满足预设输出条件的程序日志。

s200:获取程序日志的等级。

程序日志设置分级,可以更清楚的的展示程序日志,避免一些敏感信息被泄露。所述程序日志的等级可以通过识别其对应的等级标识获取。例如,所述程序日志可以分为“debug”、“info”、“warning”和“error”四个级别,其中“debug”级别最低,“error”级别最高,可以在程序日志的头部标识日志级别的地方对应使用如下四种标志:“d”、“i”、“w”、“e”,作为标识程序日志等级的标识。所述的等级标识可以是等级对应的英文单词或者该单词的缩写。

s300:判断所述程序日志的等级是否满足预设输出条件。

根据所述预设输出条件设置的输出等级,对程序日志进行过滤处理,以筛选出满足预设输出条件的程序日志。

在s300的步骤中,请参考图2,还包括以下情况:

s301:如果所述程序日志的等级高于或等于预设输出等级,则满足预设输出条件;

s302:如果所述程序日志的等级低于所述预设输出等级,则不满足预设输出条件。

举例来说,所述程序日志分为“trace”、“debug”、“info”、“warning”、“error”“fatal”六个级别,其中“trace”级别最低,“fatal”级别最高。如果所述预设输出条件设置的预设输出等级为“trace”,则所有等级的程序日志都满足预设输出条件。如果所述预设输出条件设置的预设输出等级为“error”,则等级为“error”和“fatal”的程序日志满足预设输出条件,而等级为“trace”、“debug”、“info”和“warning”的程序日志则不满足预设输出条件,不进行后续操作。如果所述预设输出条件设置的预设输出等级为“fatal”,则只有“fatal”这一等级的程序日志可以输出,其他等级的程序日志则不满足预设输出条件。

在s300的步骤中,请参考图3,还包括另一种情况:

s303:如果所述程序日志的等级为预定的多个输出等级中的一个等级,则满足预设输出条件;

s304:如果所述程序日志的等级不为预定的多个输出等级中的任一个等级,则不满足预设输出条件。

举例来说,所述程序日志分为“trace”、“debug”、“info”、“warning”、“error”和“fatal”六个级别,如果所述预设输出条件设置的预设输出等级为“info至fatal”,则等级为“info”、“warning”、“error”“fatal”均满足预设输出条件,而等级为“trace”和“debug”的程序日志则不满足预设输出条件。

s400:如果满足所述预设输出条件,获取所述程序日志的等级标识和所述程序日志的内容。

具体的,仍以步骤s300中的具体实施例为例,如果满足满足预设输出条件的程序日志的等级为“trace”、“debug”、“info”、“warning”、“error”,则可以获取对应的等级标识“t”、“d”、“i”、“w”、“e”,及对应的所述程序日志的内容,如:

13:42:36.414(i)<<videoport>>videoportuninitializing!

13:42:36.415(d)lmvrtceaglvideoview(0x11ee049d0)dealloced!

s500:获取所述程序日志的等级对应的等级缩进。

在步骤s500中,请参考图4,包括:

s501:获取预存的等级列表;

s502:获取所述程序日志的等级对应的预设数值;

s503:根据所述预设数值获取所述等级缩进。

s504:选择所述等级缩进对应的预设格式;

s505:根据所述预设格式在所述程序日志中生成所述等级缩进。

具体地,等级越高的程序日志对应的表示这个等级的预设数值越小,例如程序日志分为“debug”、“info”、“warning”和“error”四个级别,其中“debug”级别最低,“error”级别最高,最高等级的程序日志“error”其对应的预设数值为“0”,“warning”对应的预设数值为“1”,“info”对应的预设数值为“2”,“debug”对应的预设数值为“3”。

进一步地,所述等级缩进生成的规则为:预设数值*预设格式=等级缩进,这样“error”等级对应的等级缩进就是没有缩进,“warning”等级对应的等级缩进就是一个单位的预设格式,以此类推。

进一步地,在步骤s504中,所述预设格式可以为空格、制表符或点号,例如选择所述预设格式为点号,所述等级标识和所述等级缩进可表示为:“d...”。

进一步地,在步骤s505中,所述等级缩进生成的位置可以在所述等级标识之前或之后,在所述等级标识之后生成会更整齐,使程序日志的重要性一目了然。

s600:输出所述程序日志,其中,输出的所述程序日志包括:所述等级标识、所述等级缩进和所述程序日志的内容。

例如程序日志分为“debug”、“info”、“warning”和“error”四个级别,所述等级缩进的预设格式为点号,输出的程序日志如下:

13:42:36.414(i)..<<videoport>>videoportuninitializing!

13:42:36.415(d)...lmvrtceaglvideoview(0x11ee049d0)dealloced!

13:42:36.421(i)..0x0x120509780<<bitrateconditionerimpl>>:dtor

13:42:36.421(i)..<<rd>><<bcbasedonrecvdelay>>(0x0x120607780,id=0):dtor

13:42:36.421(d)...<<rd>><<bcbaseonrr>>(0x0x120607930,id=0):dtor.

13:42:36.526(d)...<<videojitterbuffer>>(0x120600860)reset!

13:42:36.526(d)...<<videojitterbuffer>>(0x120600860)releasing!

13:42:36.625(d)...<<nettrans>>0x11ef05110released.

13:42:36.625(d)...<<nettrans>>0x11ef041c0released.

13:42:36.625(d)...<<nettrans>>0x120607520released.

13:42:36.625(i)..<<videoport>>videoportuninitialized!

13:42:36.625(d)...videosessionstopped!

由以上技术方案可见,本申请实施例提供的一种输出程序日志的方法,所述方法通过获取预设输出等级;获取程序日志的等级;判断所述程序日志的等级是否满足预设输出条件;如果满足所述预设输出条件,获取所述程序日志的等级标识和所述程序日志的内容;获取所述程序日志的等级对应的等级缩进;输出所述程序日志,其中,输出的所述程序日志包括:所述等级标识、所述等级缩进和所述程序日志的内容而实现。通过上述执行步骤,实现消除了各网络设备的间输出的程序日志的异构性,通过对格式化统一后进行数据关联,可以实现程序日志数据的实时分析和扩展。另外,添加等级缩进后使每条程序日志的等级更明显,使阅读者能一目了然地了解程序日志等级,并且使程序日志的排版更合理,易读性更高。

与本申请提供的一种输出程序日志的方法实施例相对应,本申请还提供一种输出程序日志的装置的实施例。参考5,为本申请实施例提供的一种输出程序日志的装置的结构示意图,所述装置包括:

获取单元100,用于获取预设输出等级;获取程序日志的等级;获取所述程序日志的等级标识和所述程序日志的内容;获取所述程序日志的等级对应的等级缩进;

处理单元200,用于判断所述程序日志的等级是否满足预设输出条件;

输出单元300,用于输出所述程序日志,其中,输出的所述程序日志包括:所述等级标识、所述等级缩进和所述程序日志的内容。

进一步地,所述处理单元200,具体用于判断:如果所述程序日志的等级高于或等于预设输出等级,则满足预设输出条件;

如果所述程序日志的等级低于所述预设输出等级,则不满足预设输出条件;

所述处理单元200还用于判断:如果所述程序日志的等级为预定的多个输出等级中的一个等级,则满足预设输出条件;

如果所述程序日志的等级不为预定的多个输出等级中的任一个等级,则不满足预设输出条件。

进一步地,所述获取单元100,具体用于获取预存的等级列表;

获取所述程序日志的等级对应的预设数值;

根据所述预设数值获取所述等级缩进。

进一步地,所述获取单元,还用于选择所述等级缩进对应的预设格式;

根据所述预设格式在所述程序日志中生成所述等级缩进。

根据上述一种输出程序日志的方法,本申请实施例还提供一种可读存储介质和一种计算机设备。可读存储介质上存储有可执行程序,该程序被处理器执行时实现上述计算机图形资源共享方法的步骤;计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的可执行程序,处理器执行程序时实现上述计算机图形资源共享方法的步骤。

以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1