我有一个日志文件,它是由一个实时运行的脚本记录的,现在我要从 WEB/HTML 的日志中监控脚本的状态,所以我使用 JavaScript 来更新 WEB/HTML,我也写了一个 CGI 脚本,用于解析日志并将事件状态输出为 JSON 以供 JavaScript 读取。JS 脚本周期性(例如每 2 秒)调用 CGI 解析日志并调用 getJSON 读取事件状态,然后更新 WEB。
例如。在时间 T(秒),日志文件记录:
活动1开始...
做活动 1 ...
事件1通过...
活动1结束...
在时间 T+2(秒),日志文件记录:
活动1开始...
做活动 1 ...
事件1通过...
活动1结束...
活动2开始...
做活动 2 ...
事件2失败...
活动2结束...
在时间 T(second) 的 CGI 可能会输出:
{“事件”:[[“事件 1”,“通过”]]}
在某个 URI 处,将由 JS 的 getJSON 读取
并且在时间 T+2(second) 可能会输出:
{“事件”:[[“事件 1”,“通过”],[“事件 2”,“失败”]]}
所以在这里,我实现的 CGI 脚本将每 2 秒解析一次整个日志,当日志很大时可能会消耗大量系统资源,并对已经完成的事件做重复的事情。
任何人都知道如何通过输出而不是整个日志来增量解析日志,以及如何存储已经完成的事件的状态?