一种日志文件拆分方法及装置与流程

文档序号:11864643阅读:319来源:国知局
一种日志文件拆分方法及装置与流程

本发明涉及计算机领域,尤其涉及一种日志文件拆分方法及装置。



背景技术:

日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。在运行服务器程序的时候,日志文件的大小会极快增长,服务器会很快消耗磁盘空间,另外有一些程序的日志文件不会被拆分,如tomcat日志,nginx日志等等,会一直累积,直到预警或磁盘占用完毕,导致了文件无法打开、影响性能、无法归档等问题,甚至会出现日志文件过大,程序无法继续输出日志问题。



技术实现要素:

本发明提供一种日志文件拆分方法及装置,用于将过大的日志文件进行拆分保存。

本发明提供一种日志文件拆分方法,包括:

在操作系统中,安装日志拆分应用程序;

在所述日志拆分应用程序的配置文件目录中,创建目标日志文件的配置文件;

编辑所述配置文件;所述配置文件中包括目标日志文件的路径及拆分属性。

本发明实施例的一些有益效果可以包括:

本发明提供的日志文件拆分方法通过在操作系统中安装日志拆分应用程序,并在所述日志拆分应用程序配置文件目录中配置目标日志文件的配置文件,定义其拆分属性,从而可以在运行所述日志拆分应用程序时对日志文件按照所述配置文件进行拆分保存。能够解决现有的日志文件过大导致文件无法打开、无法归档等问题,提高对日志文件的有效管理。

在一个实施例中,所述编辑所述配置文件之后,还包括:

启动所述日志拆分应用程序,执行所述配置文件;

判断所述配置文件中的目标日志文件的路径对应的目标日志文件是否按照所述拆分属性被拆分;

若所述配置文件中的目标日志文件的路径对应的目标日志文件未按照所述拆分属性被拆分,则执行调试指令,分析所述目标日志文件未被拆分的原因。

该实施例中,配置好目标日志文件的配置文件后,启用所述日志拆分应用程序,执行所述配置文件,以测试目标日志文件是否根据所述配置文件中配置的拆分属性被拆分,若没有按照所述配置文件中配置的拆分属性拆分目标日志文件,则进行调试,以得到目标日志文件未被拆分的原因,方便在拆分过程中的问题查找。

在一个实施例中,所述操作系统为Linux,所述日志拆分应用程序为logrotate;所述日志拆分应用程序配置文件目录为/etc/logrotate.d/。

该实施例中,常见的linux发行版中都自带了logrotate程序来管理系统日志,因此当操作系统为Linux时,可直接使用logrotate作为所述日志拆分应用程序,并对在其配置文件目录中对目标日志文件的配置文件进行配置。

在一个实施例中,所述配置文件中的拆分属性包括:

日志拆分频率,日志文件删除之前转储的次数,拆分文件的后缀格式,日志文件为空时不做拆分处理,在打开中的日志文件中把当前日志备份并截断。

该实施例中,可以根据需要在配置文件中定义对目标日志文件进行拆分时遵循的规则,如日志拆分频率,日志文件删除之前转储的次数等等,进一步方便对日志文件的有效管理。

在一个实施例中,所述日志拆分频率为1天,所述日志文件删除之前转储的次数为30,所述拆分文件的后缀格式为“年.月.日”。

在一个实施例中,所述目标日志文件为Tomcat的catalina.out文件,所述目标日志文件的路径为/home/admin/tomcat/logs/catalina.out。

该实施例中,将所述日志拆分方法用于Linux系统下常用Tomcat日志的拆分。

本发明提供一种日志文件拆分装置,包括:

安装模块,用于在操作系统中,安装日志拆分应用程序;

创建模块,用于在所述安装模块安装的日志拆分应用程序的配置文件目录中,创建目标日志文件的配置文件;

编辑模块,用于编辑所述创建模块创建的目标日志文件的配置文件;所述配置文件中包括目标日志文件的路径及拆分属性。

在一个实施例中,所述日志文件拆分装置还包括:

执行模块,用于启动所述安装模块安装的日志拆分应用程序,执行所述编辑模块编辑好的所述配置文件;

判断模块,用于判断所述执行模块执行所述配置文件后,所述配置文件中的目标日志文件的路径对应的目标日志文件是否按照所述拆分属性被拆分;

调试模块,用于当所述判断模块判断出所述配置文件中的目标日志文件的路径对应的目标日志文件未按照所述拆分属性被拆分时,执行调试指令,分析所述目标日志文件未被拆分的原因。

在一个实施例中,当所述操作系统为Linux时,所述安装模块具体用于在操作系统中安装logrotate程序;所述创建模块,具体用于在目录/etc/logrotate.d/中,创建目标日志文件的配置文件。

在一个实施例中,所述编辑模块将所述目标日志文件的配置文件中的拆分属性编辑为包括:日志拆分频率,日志文件删除之前转储的次数,拆分文件的后缀格式,日志文件为空时不做拆分处理,在打开中的日志文件中把当前日志备份并截断。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例提供的一种日志文件拆分方法流程图;

图2为本发明实施例一中一种日志文件拆分方法流程图;

图3为本发明实施例提供的一种日志文件拆分装置结构示意图;

图4为本发明实施例提供的另一种日志文件拆分装置结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为本发明实施例提供的一种日志文件拆分方法流程图。如图1所示,该方法包括以下步骤S101-S103:

S101:在操作系统中,安装日志拆分应用程序。

由于常见的linux发行版中都自带了logrotate程序来管理系统日志,优选地,当操作系统为Linux时,采用logrotate作为此处所述的日志拆分应用程序。

S102:在所述日志拆分应用程序的配置文件目录中,创建目标日志文件的配置文件。

优选地,当操作系统为Linux,日志拆分应用程序为logrotate时,日志拆分应用程序配置文件目录为/etc/logrotate.d/。

S103:编辑目标日志文件的配置文件;所述配置文件中包括目标日志文件的路径及拆分属性。

其中,在目标日志文件的配置文件中指定目标日志文件的路径,从而可以在运行日志拆分应用程序的配置文件时,根据其中记录的目标日志文件的路径定位到需要拆分的目标日志文件。

在一个实施例中,配置文件中的拆分属性包括:日志拆分频率,日志文件删除之前转储的次数,拆分文件的后缀格式,日志文件为空时不做拆分处理,在打开中的日志文件中把当前日志备份并截断。优选地,日志拆分频率为1天,所述日志文件删除之前转储的次数为30,所述拆分文件的后缀格式为“年.月.日”。例如,在Linux下,可在配置文件中配置:日志拆分频率为daily(表示每天进行一次拆分);采用命令rotate 30表示日志文件删除之前转储的次数,即保留最近30个文件,多余的自动进行删除;拆分文件的后缀格式为dateformat.%Y-%m-%d,即拆分文件的后缀格式为“年.月.日”;采用命令notifempty表示日志文件为空时不做拆分处理;采用命令copytruncate表示在打开中的日志文件中把当前日志备份并截断。

本发明实施例提供的日志文件拆分方法通过在操作系统中安装日志拆分应用程序,并在所述日志拆分应用程序配置文件目录中配置目标日志文件的配置文件,定义其拆分属性,从而可以使操作系统按照所述配置文件对目标日志文件进行拆分保存。能够解决现有的日志文件由于不拆分存储所带来的系统存储空间用完导致文件无法打开、无法归档等问题,提高对日志文件的有效管理。

下面通过具体实施例来说明本发明提供的日志文件拆分方法。

实施例一

图2为本发明实施例一中一种日志文件拆分方法的流程图。如图2所示,包括以下步骤S201-S206:

S201:在操作系统中,安装日志拆分应用程序。

S202:在所述日志拆分应用程序的配置文件目录中,创建目标日志文件的配置文件。

S203:编辑目标日志文件的配置文件。

本实施例中,步骤S201-S203的实施方法和上述实施例中的步骤S101-S103类似,此处不再赘述。

例如,操作系统以Linux为例,日志拆分应用程序为logrotate,目标日志文件为Tomcat的catalina.out文件,则步骤S201中首先安装logrotate,即执行命令:yum install-y logrotate。随后步骤S202中在logrotate配置目录/etc/logrotate.d/下新建一个名为tomcat的文件:vim/etc/logrotate.d/tomcat,作为目标日志文件Tomcat的配置文件,并在步骤S203中编辑该配置文件的内容为:

/home/admin/tomcat/logs/catalina.out{

##/home/admin/tomcat/logs/catalina.out代表具体需要分割的日志文件

daily #表示每天进行一次拆分

rotate 30 #表示保留最近30个文件,多余的会自动进行删除

dateext

dateformat.%Y-%m-%d#日志文件拆分后缀格式

notifempty #如果被拆分的文件是空的,那么久不做拆分处理

copytruncate #把正在输出的日志拷一份出来,再清空原来的日志

}

完成以上配置后,会生成系统每日定时任务文件,随后可以不需要在操作系统中做任何工作,每天系统执行计划任务的时候就会触发这个任务文件,就会对目标日志文件进行拆分。

S204:启动所述日志拆分应用程序,执行目标日志文件的配置文件。

其中,可以启动所述日志拆分应用程序,执行所述配置文件,以测试上述方法所做的配置是否起作用。例如,对于上述操作系统为Linux,日志拆分应用程序为logrotate,目标日志文件为Tomcat的实施例,可以手动执行命令#logrotate--force/etc/logrotate.d/tomcat,则会执行上面配置文件中配置的内容,看看是不是对目标日志文件进行了拆分,以测试配置文件是否起作用。

S205:判断所述配置文件中的目标日志文件的路径对应的目标日志文件是否按照所述拆分属性被拆分;若是,则结束流程,否则,执行S206。

例如,执行上面的命令#logrotate--force/etc/logrotate.d/tomcat后,若目标日志文件按照所述拆分属性被拆分,则会生成一个当天日期的catalina.out.2016.xx.xx,并会清空catalina.out文件。

S206:执行调试指令,分析所述目标日志文件未被拆分的原因。

例如,对于上述实施例,执行命令#logrotate--force/etc/logrotate.d/tomcat,后,若目标日志文件没有拆分,可执行如下调试指令:

logrotate-d/etc/logrotate.d/tomcat,

进一步地,可以通过以下命令查看执行步骤S201-S203所生成的系统每日定时任务文件:

查看具体的系统每日定时任务文件内容,可在调试时更为容易找出目标日志文件未被拆分的原因,也可以根据目标日志文件未被拆分的原因对该文件内容进行修改。

对应于上述实施例提供的一种日志文件拆分方法,本发明实施例还提供一种日志文件拆分装置,如图3所示,包括:

安装模块11,用于在操作系统中,安装日志拆分应用程序;

创建模块12,用于在安装模块11安装的日志拆分应用程序的配置文件目录中,创建目标日志文件的配置文件;

编辑模块13,用于编辑创建模块12创建的目标日志文件的配置文件;所述配置文件中包括目标日志文件的路径及拆分属性。

图3所示装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图4为本发明实施例提供的另一种日志文件拆分装置示意图,如图4所示,本实施例的装置在图3所示装置的基础上,进一步的,还包括:

执行模块14,用于启动安装模块11安装的日志拆分应用程序,执行编辑模块13编辑好的所述配置文件;

判断模块15,用于判断执行模块14执行所述配置文件后,所述配置文件中的目标日志文件的路径对应的目标日志文件是否按照所述拆分属性被拆分;

调试模块16,用于当判断模块15判断出所述配置文件中的目标日志文件的路径对应的目标日志文件未按照所述拆分属性被拆分时,执行调试指令,分析所述目标日志文件未被拆分的原因。

图4所示装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在另一个实施例中,当所述操作系统为Linux时,安装模块11具体用于在操作系统中安装logrotate程序;创建模块12具体用于在目录/etc/logrotate.d/中,创建目标日志文件的配置文件。

在另一个实施例中,编辑模块13将所述目标日志文件的配置文件中的拆分属性编辑为包括:日志拆分频率,日志文件删除之前转储的次数,拆分文件的后缀格式,日志文件为空时不做拆分处理,在打开中的日志文件中把当前日志备份并截断。

本发明提供的日志文件拆分装置通过在操作系统中安装日志拆分应用程序,并在所述日志拆分应用程序配置文件目录中配置目标日志文件的配置文件,定义其拆分属性,从而可以在运行所述日志拆分应用程序时对日志文件按照所述配置文件进行拆分保存。能够解决现有的日志文件由于不拆分存储所带来的系统存储空间用完导致文件无法打开、无法归档等问题,提高对日志文件的有效管理。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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