之前,应用系统的数据库会有一张日志表,用于保存系统内部管理员的操作记录,用作日后审计。所以前端使用了jqtable这个jquery插件,用于日志的查询、分页显示、排序显示。由于日志都是记录在数据库表中,那么日志的格式就可以保证一致,而且使用SQL有可以做到对日志的关键字检索、排序和分页,所以后台只需要将数据查询出来封装到对象中,然后以JSON格式返给前端显示即可。
现在,新增了这样一个需求:由外部的一个系统通过syslog将日志文件保存到某一目录下(如:/var/log/iplogs/),当前的日志文件为iplog.log,由于日志量特别大,所以外部系统还会对日志文件进行监控,一旦达到某一大小,就会将该日志文件备份为iplog1.log,iplog2.log...,然后清空该日志文件。我这边需要做的就是将日志文件中需要符合约定的日志过滤出来,在前端做显示,而且也需要支持关键字检索、分页和排序,以及按格式显示。
难题出现了:
1. 如何快速的读取文件:日志是动态