Python解析日志文件以实时提取事件

我有一个将消息记录到文件的过程。

我想实现另一个进程(在Python中),该进程解析这些日志(将它们写入文件时),过滤我感兴趣的行,然后根据第一个进程的状态执行某些操作。

我想知道在继续编写自己的东西之前,是否有Python库中的内容是这样的。

此外,关于如何实现类似Python之类的想法将不胜感激。

谢谢。

回答:

C程序通常寻求当前位置以清除所有“文件结束”标志。但是正如@9000正确指出的那样,python显然会处理此问题,因此即使文件已到达文件末尾,您也可以重复读取同一文件。

但是,您可能需要处理不完整的行。如果您的应用程序按段编写日志,那么您要确保处理整行而不是整行。以下代码将完成此操作:

f = open('some.log', 'r')

while True:

line = ''

while len(line) == 0 or line[-1] != '\n':

tail = f.readline()

if tail == '':

time.sleep(0.1) # avoid busy waiting

# f.seek(0, io.SEEK_CUR) # appears to be unneccessary

continue

line += tail

process(line)

以上是 Python解析日志文件以实时提取事件 的全部内容, 来源链接: utcz.com/qa/414949.html

回到顶部