公司生产环境日志非常大,且日志需要存档两年,以便检查的。故写了一个小工具来自动打包压缩日志文件。

功能

  • 文件过滤
  • 7Z压缩
  • 文件删除

工具原理

利用7z.dll提到的API进行文件压缩,默认采取的压缩方式是高压,已极限节省磁盘空间。

工具目的

实现在生产环境中通过配置系统任务来自动进行日志归档。而日志不需要立即归档,可能一个月内的日志都需要即时获取以便分析日志。 故在生产环境可以将一个月以前的日志进行归档压缩,压缩后上传到备份服务器。而认为处理相对耗时,股通过工具来实现。

配置内容

配置文件中按组为单位设置压缩配置信息,组名依次是:ZipGroup2、ZipGroup3、ZipGroup4 …… ZipGroup10 (最多支持10组,名称大小写敏感),那单个组说明

[ZipGroup1]
#组标识,压缩包文件名以此为前缀
Name=AppLog
#需要压缩的文件地址
NeedZipFilePath=
#压缩文件存储位置,默认为exe目录下
ZipSavePath=
#正则表达式匹配需要压缩的文件名,如果不设置将对文件不进行过滤
FilterFile=.*[\.log]|[\.txt]$
#需要压缩文件的最后写入时间验证,验证包括: LastMonth-本月前,LastWeek-本周前,BeforeToday-今天以前
FileLastWriteTimeLimit=LastMonth
#是否在压缩后,删除原文件
AfterZipToDelFile=F

运行

配置后,即可双击exe运行,因exe需要创建文件、文件夹,故需要管理员权限,如果运行报错,请使用管理员权限运行。运行时,将在exe目录下创建logs文件夹用于存放每次运行日志。

下载

工具现在没有上传源代码,先提供工具下载地址: 链接: http://pan.baidu.com/s/1bnfU9AJ 密码: 3srx

上面就是虞双齐写的一个日志文件自动归档工具,如果你也此需求,可以使用,如有疑问,可在下面留言。