- 论坛徽章:
- 0
|
本帖最后由 OpenVT 于 2011-05-27 17:28 编辑
AIX5305的系统,日志文件大小2G左右,为了减少对系统负载的影响,考虑对日志从后向前遍历,不知道perl怎么实现,想请教各位,日志样例详见附件,多谢!
解决思路:
步骤1、文件切割
考虑只关心日志新增内容的信息,取日志文件最后一行得到时间关键字[11-5-25 11:03:53:256 GMT+08:00]进行记录,下一个轮询时间点,再记录最后一行时间关键字,并从最后一行由后往前遍历文本,直至上次记录的时间点结束,将此内容输出至新的日志文件中;
步骤2、格式转换
想通过转换格式得到如下两个文本的输出:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
输出文件格式1:
时间 currentBusinessCode businessCode gwFlwNo gwTrxCode errorCode hostReturnCode hostErrorMessage certType logInfo procRetCode
[11-5-25 10:56:54:894 GMT+08:00] null 000000 483929 gw50000 00000000 0000 6 192.168.1.123 0 0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
输出文件格式2:
时间 gwFlwNo gwTrxCode gwResTime 解包耗时
[11-5-25 10:56:54:893 GMT+08:00] 483929 gw50000 588(ms) 10(ms)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|