一种日志文件处理方法及装置与流程

文档序号:12124376阅读:191来源:国知局
一种日志文件处理方法及装置与流程

本发明涉及电子信息技术领域,特别是涉及一种日志文件处理方法及装置。



背景技术:

随着电子信息技术的发展,计算机和服务器等电子设备在日常工作中应用越来越广泛,电子设备的运行都离不开应用程序。

应用程序在运行过程中会产生日志文件,日志文件是用于记录应用程序在运行时产生的状态信息、调试信息、执行时间信息和运行时产生的错误信息等,日志文件存储在磁盘中,应用程序运行一段时间后产生的一定格式的日志文件称为历史日志文件。

在一定情况下,应用程序需要实现日志滚动功能,即根据一定策略如时间或文件大小,产生新的日志文件,方便维护人员进行查看,在应用程序实现日志滚动功能后,随着时间和被访问次数的增加,会产生大量的历史日志文件。因此,有必要对历史日志文件进行清理,节省磁盘的空间,也方便运维人员查看近期的历史日志文件信息。

现有技术对历史日志文件有两种处理方法,第一种方法:对应用程序在运行过程中产生的大量历史日志文件不做处理,当有需要处理时,由维护人员进行手动处理,这种方法在应用程序运行一段时间后,产生的大量历史日志文件会造成磁盘空间浪费,使磁盘空间使用率下降,而且需要维护人员手动处理,降低了维护人员维护的工作效率;另一种方法:设置磁盘存储历史日志文件的个数,在历史日志文件超出设置的个数时,由应用程序进行操作,直接删除最早存储的历史日志文件,不做备份保留,该方法虽然节省了磁盘空间,但是对超出设置存储个数的历史日志文件直接删除,导致后期无法对历史日志文件进行统计分析。

因此,如何处理应用程序长时间运行产生的大量历史日志文件,能够节省磁盘空间,且避免历史日志文件直接删除,导致后期无法对历史日志文件进行统计分析,是本领域技术人员亟待解决的技术问题。



技术实现要素:

本发明的目的是提供一种日志文件处理方法及装置,在应用程序长时间运行产生大量日志文件时,通过此方法处理产生的日志文件,能够节省磁盘中的空间,并且不影响维护人员后期对日志文件的统计分析。

为实现上述目的,本发明提供一种日志文件处理方法,包括:

设置日志文件保留在磁盘中的预定条件;

设置日志文件处理线程的触发时间;

当达到所述触发时间后,触发所述日志文件处理线程;

获取存储在所述磁盘中所有日志文件的状态信息;

判断每个日志文件的状态信息是否符合所述预定条件;

当日志文件的状态信息符合所述预定条件时,则该日志文件保留在所述磁盘中;

当日志文件的状态信息不符合所述预定条件时,将该日志文件存储至压缩包,并在所述磁盘中删除该日志文件;

结束所述日志文件处理线程。

优选地,所述预定条件为日志文件的生成天数在预定天数内,则所述状态信息为生成日志文件的时间信息,所述判断每个日志文件的状态信息是否符合所述预定条件具体为:

判断生成每个日志文件的时间信息是否在所述预定天数内;

其中,当生成日志文件的时间信息在预定天数内时,则该日志文件的状态信息符合所述预定条件;

当生成日志文件的时间信息不在预定天数内时,则该日志文件的状态信息不符合所述预定条件。

优选地,所述预定条件为所述磁盘的当前存储总量在预定存储量内,则所述状态信息为所述磁盘当前存储总量,所述判断每个日志文件的状态信息是否符合所述预定条件具体为:

判断所述磁盘当前存储总量是否在所述预定存储量内;

其中,当所述磁盘当前存储总量在所述预定存储量内时,则该磁盘中所有日志文件均符合所述预定条件;

当所述磁盘当前存储总量超出所述预定存储量内时,则该磁盘中所有日志文件均不符合所述预定条件。

优选地,所述预定条件为日志文件的排序标号在预定数目内,则所述状态信息为日志文件排序标号,所述判断每个日志文件的状态信息是否符合所述预定条件具体为:

判断每个日志文件排序标号是否在所述预定数目内;

当日志文件排序标号在预定数目内时,则该日志文件的状态信息符合所述预定条件;

当日志文件排序标号不在预定数目内时,则该日志文件的状态信息不符合所述预定条件。

优选地,所述将该日志文件存储至压缩包,具体包括:

判断固定目录下是否存在所述压缩包;

如果存在所述压缩包,则将所述日志文件存储至所述压缩包中;

如果不存在所述压缩包,则在所述固定目录下新建压缩包,并将所述日志文件存储至所述新建压缩包中。

优选地,所述结束所述日志文件处理线程后,还包括:进入休眠,等待下次所述触发时间到达。

优选地,所述触发时间为7天。

本发明还提供了一种日志文件处理装置,包括:

设置单元,用于设置日志文件保留在磁盘中的预定条件和设置日志文件处理线程的触发时间;

触发单元,用于当达到所述触发时间后,触发所述日志文件处理线程;

获取单元,用于获取存储在所述磁盘中所有日志文件的状态信息;

判断单元,用于判断每个日志文件的状态信息是否符合所述预定条件;其中,当日志文件的状态信息符合所述预定条件时,则该日志文件保留在所述磁盘中;当日志文件的状态信息不符合所述预定条件时,触发存储单元;

存储单元,用于当日志文件的状态信息不符合所述预定条件时,将该日志文件存储至压缩包,并在所述磁盘中删除该日志文件。

本发明所提供的一种日志文件处理方法及装置,该方法包括:设置日志文件保留在磁盘中的预定条件;设置日志文件处理线程的触发时间;当达到所述触发时间后,触发所述日志文件处理线程;获取存储在所述磁盘中所有日志文件的状态信息;判断每个日志文件的状态信息是否符合所述预定条件;当日志文件的状态信息符合所述预定条件时,则该日志文件保留在所述磁盘中;当日志文件的状态信息不符合所述预定条件时,将该日志文件存储至压缩包,并在所述磁盘中删除该日志文件;结束所述日志文件处理线程。

该方法首先设置保留在磁盘中的条件,然后获取磁盘中所有日志文件的状态信息,再判断状态信息是否符合设置的条件,将符合条件的日志文件保留在磁盘中,不符合条件的日志文件存储到压缩包中,并删除存在磁盘中的原日志文件,因此,通过该方法节省了磁盘中的存储空间,并且在后期对日志文件进行统计分析时,能够在压缩包中找到相应的日志文件。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种日志文件处理方法的流程图;

图2为本发明实施例公开了另一种日志文件处理方法的流程图;

图3为本发明实施例公开了另一种日志文件处理方法的流程图;

图4为本发明实施例公开的一种日志文件处理装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种日志文件处理方法及装置,用于处理应用程序长时间运行所产生的大量日志文件,该方法通过设置保留在磁盘中的条件,再获取存储在磁盘中所有日志文件的状态信息,然后根据设置的条件,判断日志文件是否继续保留在磁盘中,将不符合设置条件的日志文件存储到压缩包中,并将磁盘中的该日志文件删除。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例公开的一种日志文件处理方法的流程图,其中,该方法具体步骤包括:

步骤101:设置日志文件保留在磁盘中的预定条件。

步骤102:设置日志文件处理线程的触发时间。

在具体实施时,运维人员可以用不同的输入方式进行设置预定条件和设置触发时间,如输入的方式可以为手动输入,语音输入等多种方式。在对预定条件和触发时间设置时,可以根据实际情况,对预定条件和触发时间设置不同的参数。例如:由于特殊原因,应用程序被多次访问,因此会产生大量的日志文件,在这种情况下,可以将预定条件设置为日志文件的排序标号在预定数目内,触发时间为1天。

需要说明的是,步骤101和步骤102并没有先后执行顺序,本实施例不做限定,先执行步骤102在执行步骤101或同时执行步骤101和步骤102不影响本发明的实现。

步骤103:当达到触发时间后,触发日志文件处理线程。

在具体实施时,设置完触发时间后,自动开始进行触发时间的倒计时,此时,日志文件处理线程处于未触发状态,即日志文件处理线程处于休眠状态,当倒计时结束,即达到触发时间,触发日志文件处理线程,即使日志文件处理线程处于工作状态。

例如:设置触发时间为7天,则开始进行7天的倒计时,此时,日志文件处理线程处于未触发状态,当倒计时结束,即达到7天,立即触发日志文件处理线程。

步骤104:获取存储在磁盘中所有日志文件的状态信息。

在具体实施时,可以根据设置的预定条件,获取相应的日志文件的状态信息,如设置的预定条件为日志文件的生成天数在预定天数内,则获取日志文件的状态信息就为生成日志文件的时间信息。

步骤105:判断每个日志文件的状态信息是否符合预定条件,当日志文件的状态信息符合预定条件时,进入步骤106,当日志文件的状态信息不符合预定条件时,进入步骤107。

在具体实施时,根据设置的预定条件,判断单元对存储在磁盘中的每个日志文件的状态信息进行判断,并得出判断结果。

步骤106:将该日志文件保留在磁盘中。

可以理解为,对存储在磁盘中的日志文件不采取任何措施,依然将符合预定条件的日志文件保留在磁盘中。

步骤107:将该日志文件存储至压缩包,并在磁盘中删除该日志文件;

在具体实施时,根据判断的结果,将不符合预定条件日志文件存储在压缩包中。

步骤108:结束所述日志文件处理线程。

在本发明实施例中,首先设置保留在磁盘中的条件,然后获取磁盘中所有日志文件的状态信息,再判断状态信息是否符合设置的条件,将符合条件的日志文件保留在磁盘中,不符合条件的日志文件存储到压缩包中,并删除存在磁盘中的原日志文件,因此,通过该方法节省了磁盘中的存储空间,并且在后期对日志文件进行统计分析时,能够在压缩包中找到相应的日志文件。

为了方便日后运维人员在进行统计分析时,快速查找到对应的日志文件,本发明实施例公开了另一种日志文件处理方法的流程图,如图2所示,图2为本发明实施例公开了另一种日志文件处理方法的流程图。该方法包括以下步骤:

步骤201:设置预定条件为日志文件的生成天数在预定天数内;

步骤202:设置日志文件处理线程的触发时间;

在具体实施时,例如:可以设置预定条件为日志文件的生成天数在预定7天内,设置日志文件处理线程的触发时间为3天。当然预定天数和触发时间也可以为其他数值的天数。

步骤203:当达到触发时间后,触发日志文件处理线程。

在具体实施时,达到第3天后,立即触发日志文件处理线程。

步骤204:获取存储在磁盘中所有生成日志文件的时间信息。

需要说明的是,本实施中设置的预定条件为日志文件的生成天数在预定天数内,则需要获取的日志文件状态信息为生成日志文件的时间信息。

步骤205:判断生成每个日志文件的时间信息是否在所述预定天数内,在预定天数内时,进入步骤206,不在预定天数内时,进入步骤207。

在具体实施时,如设置条件为日志文件的生成天数在预定7天内时,生成日志文件的时间信息为3天,则该日志文件在预定天数内,进入步骤206;生成日志文件的时间信息为9天,则该日志文件不再预定天数内,进入步骤207。

步骤206:将日志文件保留在磁盘中。

步骤207:判断固定目录下是否存在压缩包,如果存在,进入步骤208,如果不存在,进入步骤209。

步骤208:将日志文件存储至压缩包中。

步骤209:在固定目录下新建压缩包,将日志文件存储至新建压缩包中,并在磁盘中删除该日志文件。

在具体实施时,如固定目录为D盘/存储历史日志文件夹中的压缩包,则判断D盘/存储历史日志文件夹中的压缩包是否存在,如果存在,则将不在预定天数内的日志文件进行压缩,存入D盘/存储历史日志文件夹中的压缩包中,如果不存在,则在D盘/存储历史日志文件夹中新建一个压缩包,将不在预定天数内的日志文件进行压缩,存入该新建的压缩包中,并在磁盘中删除该日志文件。

需要说明的是,步骤207至步骤209适用于本发明的所有实施例中,其它实施例不再赘述。

步骤210:结束日志文件处理线程,返回步骤203。

在本实施例中,预定条件设置为日志文件的生成天数在预定天数内,将不在预定天数内的日志文件进行压缩存储至压缩包中,这样,运维人员在需要查看近期日志文件时,在磁盘中能够直接提取查看,无需去压缩包中提取,再解压缩后才能查看,方便了运维人员进行统计分的日志文件的工作。

为了缩短日志文件处理的时间,本发明实施例公开了另一种日志文件处理方法的流程图,如图3所示,图3为本发明实施例公开了另一种日志文件处理方法的流程图。方法包括以下步骤:

步骤301:设置预定条件为磁盘的当前存储总量在预定存储量内。

步骤302:设置日志文件处理线程的触发时间。

在具体实施时,如设置预定条件为当前存储总量在200M内,当然,可以根据实际情况,设置为在其它数值存储量。

步骤303:当达到所述触发时间后,触发所述日志文件处理线程。

步骤304:获取磁盘当前存储总量。

步骤305:判断所述磁盘当前存储总量是否在预定存储量内,如果在存储量内,进入步骤306,如果不在存储量内,进入步骤307。

在具体实施时,如设置预定条件为当前存储总量在200M存储量内,获取磁盘当前存储总量为150M,则磁盘中所有日志文件均符合条件;获取磁盘当前存储总量为300M,则磁盘中所有日志文件均不符合条件。

步骤306:将全部日志文件保留在磁盘中。

步骤307:将全部日志文件存储至压缩包,并在磁盘中删除该日志文件。

步骤308:结束日志文件处理线程。

在本实施例中,判断单元只需一次判断动作,即只需判断当前存储总量是否在预定存储量内,减少了判断单元重复的判断动作,因此缩短了日志文件的处理时间,提高了处理效率。

参看图4,图4为本发明实施例公开的一种日志文件处理装置的结构图,该装置包括:

设置单元401,用于设置日志文件保留在磁盘中的预定条件和设置日志文件处理线程的触发时间;

触发单元402,用于当达到所述触发时间后,触发日志文件处理线程;

获取单元403,用于获取存储在磁盘中所有日志文件的状态信息;

判断单元404,用于判断每个日志文件的状态信息是否符合预定条件;

其中,当日志文件的状态信息符合预定条件时,则该日志文件保留在磁盘中;当日志文件的状态信息不符合所述预定条件时,触发存储单元;

存储单元405,用于当日志文件的状态信息不符合预定条件时,将该日志文件存储至压缩包,并在磁盘中删除该日志文件。

在具体实施时,通过设置单元401设置预定条件和触发时间,在设置完成后,自动开始触发时间的倒计时,此时,日志文件处理线程处于未触发状态,当倒计时结束,即达到触发时间,触发单元402触发日志文件处理线程。

日志文件处理线程触发后,获取单元403开始获取日志文件的状态信息,获取单元403可以根据设置的预定条件,获取相应的日志文件的状态信息,如设置的预定条件为日志文件的生成天数在预定天数内,则获取日志文件的状态信息就为生成日志文件的时间信息。

获取单元403获取到日志文件的状态信息后,判断单元404根据设置的预定条件开始对每个日志文件的状态信息进行判断,当日志文件符合预定条件时,则保留在磁盘中,当日志文件不合符预定条件时,判断单元404触发存储单元405,存储单元405将该日志文件压缩存储在压缩包中,并将该日志文件在磁盘中删除。

可以看出利用本装置,首先设置保留在磁盘中的条件,然后获取磁盘中所有日志文件的状态信息,再判断状态信息是否符合设置的条件,将符合条件的日志文件保留在磁盘中,不符合条件的日志文件存储到压缩包中,并删除存在磁盘中的原日志文件,因此,通过该方法节省了磁盘中的存储空间,并且在后期对日志文件进行统计分析时,能够在压缩包中找到相应的日志文件

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

以上对本发明所提供的一种日志文件处理方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

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