有没有更好的方法来监控日志文件?(linux / python)

时间:2011-11-22 13:07:31

标签: python linux logging

我正在尝试监视某些进程在linux上运行的日志文件(创建一个联合日志文件,其中日志条目在发生时分组在一起)。目前我正在考虑打开正在记录的文件,使用inotify(或包装器)进行轮询,然后检查是否可以再读取该文件。

有没有更好的方法呢?也许某些图书馆会对文件的阅读/更改进行抽象观察?

3 个答案:

答案 0 :(得分:3)

为什么“tail -f”不足够?您可以使用popen和pipe来处理Python。

答案 1 :(得分:1)

Generator Tricks For Systems Programmers展示了如何使用Python generators来解决此类问题;特别是,监视(大)日志文件。我建议给它一个阅读。

答案 2 :(得分:0)

如果您自己动手,可能会执行以下操作:如果检测到文件修改,请获取文件大小。如果它比上次更大,你可以寻找前一个“最后”位置(即之前的大小)并从那里读取。