一种日志压缩方法、装置、电子设备及可读存储介质与流程

文档序号:30440501发布日期:2022-06-17 22:07阅读:71来源:国知局
一种日志压缩方法、装置、电子设备及可读存储介质与流程

1.本技术涉及计算机技术领域,并且更具体地,涉及一种日志压缩方法、装置、电子设备及可读存储介质。


背景技术:

2.软件开发工程中经常需要增加日志信息来记录业务处理流程和进程运行状态,这些日志经常输出到指定文件中。开发人员在编写过程中为了能够定位线上可能出现的问题,会输出相当多的日志,不仅是业务上的也有系统的,在系统稳定之后仍然会输出大量日志。现有对日志控制的方法是在日志输出级别上做控制,在指定级别之上的日志才输出,但应用程序输出的日志很大一部分是重复信息,占用的磁盘空间较多。


技术实现要素:

3.本技术实施例提供一种日志压缩方法、装置、电子设备及可读存储介质,以解决重复日志信息占用磁盘空间较多的问题。
4.第一方面,本技术实施例提供了一种日志压缩方法,包括:
5.获取待输出日志信息;
6.将所述待输出日志信息中目标日志信息进行过滤,所述目标日志信息包括如下至少一项:
7.与预先设置的正则表达式匹配的日志信息;
8.包含数值信息且所述数值信息符合预先设置的数值范围要求的日志信息。
9.第二方面,本技术实施例还提供一种日志压缩装置,包括:
10.获取模块,用于获取待输出日志信息;
11.过滤模块,用于将所述待输出日志信息中目标日志信息进行过滤,所述目标日志信息包括如下至少一项:
12.与预先设置的正则表达式匹配的日志信息;
13.包含数值信息且所述数值信息符合预先设置的数值范围要求的日志信息。
14.第三方面,本技术实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序或者指令,所述程序或者指令被所述处理器执行时实现本技术实施例第一方面公开的所述日志压缩方法中的步骤。
15.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现本技术实施例第一方面公开的所述日志压缩方法中的步骤。
16.这样,本实施例中,将所述待输出日志信息中目标日志信息进行过滤,所述目标日志信息包括如下至少一项:与预先设置的正则表达式匹配的日志信息;包含数值信息且所述数值信息符合预先设置的数值范围要求的日志信息,通过对所述目标日志信息的过滤实现待输出日志信息的压缩后输出,减少了重复的日志信息输出到日志文件,从而可以达到
避免重复信息占用的磁盘空间较多的技术效果。
附图说明
17.为了更清楚地说明本技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例提供的一种日志压缩方法的流程示意图;
19.图2是本技术实施例提供的一种日志压缩装置的结构示意图;
20.图3是本技术实施例提供的另一种日志压缩装置的结构示意图;
21.图4是本技术实施例提供的另一种日志压缩装置的结构示意图;
22.图5是本技术实施例提供的另一种日志压缩装置的结构示意图;
23.图6是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.请参阅图1,图1是本技术实施例提供的一种日志压缩方法的流程示意图,如图1所示,包括:
26.步骤101、获取待输出日志信息。
27.其中,上述待输出日志信息可以是应用程序在运行过程中需要不停输出的日志信息,而其中很大一部分是重复信息或辅助性信息,没有特别的作用,后期也难以统计。
28.步骤102、将所述待输出日志信息中目标日志信息进行过滤,所述目标日志信息包括如下至少一项:
29.与预先设置的正则表达式匹配的日志信息;
30.包含数值信息且所述数值信息符合预先设置的数值范围要求的日志信息。
31.其中,上述正则表达式和上述数值范围要求可以是预先根据日志信息类型设置的日志压缩要求,例如:根据日志信息是否包含有数值信息,可以分为描述型日志信息和指标型日志信息,针对不同的类型,我们可以提取不同的规则,而对于不是很重要的,辅助性或规律性的日志,则可提取其对应的正则表达式,针对包含数值输出的日志,可以设置待压缩数值的范围,并根据设置的数值范围生成条件语句作为上述日志信息压缩的数值范围要求。
32.另外,上述目标日志信息还可以是满足其他压缩规则的日志信息,例如:根据日志信息的不同级别,分为debug(需要在调试过程中输出的信息)、info(需要持续输出的信息)、warn(警告级别的信息)和error(错误信息)四个级别,可以将压缩要求设置为将debug级别和info级别的日志信息过滤,在日志输出点进行判断,对于符合上述压缩要求的日志信息过滤掉不输出到日志文件中。
33.其中,上述数值信息可以是业务上的数据指标或者是应用程序的状态指标,例如:待输出日志信息中包含的业务上的数据指标或者是应用程序的状态指标在满足上述预先设置的数值范围要求的情况下,可以认为日志信息是正常的,将其过滤,不输出到日志文件中;在不满足上述预先设置的数值范围要求的情况下,该日志信息可能是异常的数据或者需要关心的数据,可以动态调整日志输出级别为error类型,输出到日志文件中。
34.本实施例中,将所述待输出日志信息中目标日志信息进行过滤,所述目标日志信息包括如下至少一项:与预先设置的正则表达式匹配的日志信息;包含数值信息且所述数值信息符合预先设置的数值范围要求的日志信息,通过对所述目标日志信息的过滤实现待输出日志信息的压缩后输出,减少了重复的日志信息输出到日志文件,从而可以达到避免重复信息占用的磁盘空间较多的技术效果。
35.可选的,步骤102中所述将所述待输出日志信息中目标日志信息进行过滤之前,所述方法还可以包括:
36.按照预先设置的压缩要求对所述目标日志信息进行统计,得到日志统计信息;
37.展示所述日志统计信息。
38.其中,上述压缩要求可以是根据日志信息的类型预先设置的,例如:对于某类型的日志信息是否开启压缩信息统计,如果开启压缩信息统计,可以是基于时间间隔进行压缩信息统计或者基于次数进行压缩信息统计。
39.其中,上述日志统计信息可以通过预先保存的统计信息变量进行累加,例如:在基于次数进行压缩信息统计的情况下,将上述目标日志信息通过预先保存的统计信息变量进行累加,累计到一定次数即输出一条统计信息到日志文件中。
40.该实施方式中,通过按照预先设置的压缩要求对所述目标日志信息进行统计,得到日志统计信息,展示所述日志统计信息,可以对压缩的所述目标日志信息进行统计,并且可以查看到所述日志统计信息,从而直观了解所述待输出日志信息的压缩情况。
41.可选的,所述按照预先设置的压缩要求对所述目标日志信息进行统计,可以具体包括:
42.按照预设时间间隔对所述目标日志信息进行统计;或者,
43.按照预设次数阈值对所述目标日志信息进行统计。
44.其中,上述预设时间间隔和上述预设次数阈值可以是根据压缩需求预先设置的,例如:在待输出日志信息中,根据预先设置的压缩要求判断与预先设置的正则表达式匹配的日志信息是否需要进行统计,如果不需要则上述目标日志信息直接被过滤掉,如果需要则将上述目标日志信息过滤并且将上述目标日志信息保存到缓存的统计变量中进行累加,得到与预先设置的正则表达式匹配的日志信息的统计信息,将上述统计信息按照预设时间间隔或者按照预设次数阈值输出上述统计信息到日志文件中。
45.该实施方式中,按照预设时间间隔对所述目标日志信息进行统计,或者按照预设次数阈值对所述目标日志信息进行统计,可以对所述目标日志信息进行统计,根据所述统计日志信息获取所述待输出日志信息中被过滤的所述目标日志信息的统计结果,从而对所述待输出日志信息的压缩效果进行实时跟踪,便于了解所述待输出日志信息的压缩效果。
46.可选的,步骤101中所述获取待输出日志信息之前,所述方法还可以包括:
47.设置日志压缩模板,根据正则表达式语法将预先提取的日志信息字段填充到所述
日志压缩模板的对应位置生成所述正则表达式。
48.其中,作为一个具体的示例,上述日志压缩模板可以通过正则表达式语法填充预先提取的日志信息字段的方式生成上述正则表达式,构造正则表达式的方法和创建数学表达式的方法一样,用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。上述正则表达式可以包括元字符、限定符、反义词等,“*”表示重复零次或更多次,“+”表示重复一次或更多次,“\w”表示匹配字母或数字或下划线,“\w”表示匹配任意不是字母、数字、下划线和汉字的字符,正则表达式可以是普通字符(例如字符a到z)以及特殊字符(称为“元字符”)组成的文字模式,上述正则表达式可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合,正则表达式作为一个模板,将某个字符模式与待输出日志信息进行匹配。以单个字符模式的正则表达式作为示例,可以根据压缩需要提取上述预先提取的日志信息字段,例如:可以提取日志信息中的部门信息、职工信息和时间填充到模板xxx${field1}xxx${field2}中,从而生成“待办提醒${department name}-${employee name}休假申请[${date}]”作为一个正则表达式与待输出日志信息进行匹配,其中“$”为特殊字符,表示匹配输入字符串的结尾位置,即对待输出日志信息与上述正则表达式进行匹配。
[0049]
该实施方式中,通过设置日志压缩模板,根据正则表达式语法将预先提取的日志信息字段填充到所述日志压缩模板的对应位置生成所述正则表达式,可以对所述待输出日志信息中符合正则表达式的日志信息进行过滤,减少重复日志信息输出到日志文件中。
[0050]
可选的,所述方法还可以包括如下步骤:
[0051]
展示所述正则表达式;
[0052]
接收用户的调整输入;
[0053]
响应于所述调整输入,对所述正则表达式进行调整,所述调整输入包括如下至少一项:
[0054]
添加正则表达式,更新正则表达式,修改正则表达式。
[0055]
其中,上述正则表达式可以是预先生成的,例如:在对待输出日志信息进行压缩前,可以根据压缩需要设置日志压缩模板并提取日志信息字段,再根据正则表达式语法将提取的日志信息字段填充到上述日志压缩模板生成上述正则表达式,在日志信息压缩过程中还可以根据业务需求,接收并响应用户的调整输入对上述正则表达式进行动态调整,从而可以对待输出日志信息的压缩结果进行动态控制。
[0056]
该实施方式中,通过展示所述正则表达式,用户可以实时查看所述正则表达式并对所述正则表达式进行调整,从而可以对待输出日志信息的压缩进行动态设置,提升所述待输出日志信息的压缩效果。
[0057]
请参阅图2,图2是本技术实施例提供的一种日志压缩装置的结构示意图,如图2所示,装置200包括:
[0058]
获取模块201,用于获取待输出日志信息;
[0059]
过滤模块202,用于将所述待输出日志信息中目标日志信息进行过滤,所述目标日志信息包括如下至少一项:
[0060]
与预先设置的正则表达式匹配的日志信息;
[0061]
包含数值信息且所述数值信息符合预先设置的数值范围要求的日志信息。
[0062]
可选的,如图3所示,所述装置300还可以包括:
[0063]
统计模块203,用于按照预先设置的压缩要求对所述目标日志信息进行统计,得到日志统计信息;
[0064]
第一展示模块204,用于展示所述日志统计信息。
[0065]
可选的,统计模块203可以具体用于:
[0066]
按照预设时间间隔对所述目标日志信息进行统计;或者,
[0067]
按照预设次数阈值对所述目标日志信息进行统计。
[0068]
可选的,如图4所示,所述装置200还可以包括:
[0069]
设置模块205,用于设置日志压缩模板,根据正则表达式语法将预先提取的日志信息字段填充到所述日志压缩模板的对应位置生成所述正则表达式。
[0070]
可选的,如图5所示,所述装置200还可以包括:
[0071]
第二展示模块206,用于展示所述正则表达式;
[0072]
接收模块207,用于接收用户的调整输入;
[0073]
调整模块208,用于响应于所述调整输入,对所述正则表达式进行调整,所述调整输入包括如下至少一项:
[0074]
添加正则表达式,更新正则表达式,修改正则表达式。
[0075]
装置200能够实现图1的方法实施例中装置实现的各个过程,为避免重复,这里不再赘述。装置200可以达到避免重复日志信息占用磁盘空间较多的技术效果。
[0076]
请参阅图6,本技术实施例还提供一种电子设备,该电子设备600包括处理器601,存储器602,存储在存储器602上并可在处理器601上运行的程序或指令,该程序或指令被处理器601执行时实现上述日志压缩方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0077]
本技术实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述日志压缩方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0078]
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0079]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0080]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例的方法。
[0081]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1