有没有更好的方法来监控日志文件?(Linux/Python)
我想监控一些在Linux上运行的进程的日志文件,目的是创建一个联合日志文件,把日志条目按发生时间分组在一起。目前我在考虑打开这些日志文件,用inotify(或它的封装)来轮询,然后检查是否能读取到文件的更多内容。
有没有更好的方法呢?比如有没有什么库可以简化对被监控文件的读取和变化的处理?
3 个回答
0
如果你自己来做这件事,可能会这样操作:当你发现文件被修改时,先获取文件的大小。如果这次的大小比上次大,你就可以回到上次的位置(也就是上次的大小)从那里开始读取内容。
2
《系统程序员的生成器技巧》 这篇文章讲了如何使用 Python 的生成器 来解决这类问题,特别是监控(大型)日志文件。我建议你去看看。
3
为什么仅仅用“tail -f”不够呢?你可以用popen和管道来从Python处理这个问题。