跳转到主要内容

Python "tail -F" 功能,旨在处理日志数据,目标是可靠和健壮。

项目描述

Ponytail

概述

Python "tail -F" 功能,旨在处理日志数据,目标是可靠和健壮。

创建一个对象以跟踪文件。

功能: - 检测文件是否被截断,并从开头重新开始。 - 检测文件重命名和新文件创建(用于日志轮转)。 - 在轮转后继续读取旧文件以捕获写入那里的遗漏数据。 - 可以写入可选的“偏移”文件,以便可以从上次停止的地方继续。

参数

Follow(filename, offset_filename=None, watch_rotated_file_seconds=300)

  • filename: 要打开并从中读取数据的文件名。
  • offset_filename: 如果提供,则写入偏移信息到文件名。此文件在读取过程中到达文件末尾时写入,或在调用“save_offset()"方法时写入。如果您从读取循环中退出(例如,由于Control-C),则最好保存偏移量。
  • watch_rotated_file_seconds: 在检测到文件已轮转后,监视旧文件此多长时间以查看是否在轮转后向其写入新数据。

Follow().readline(none_on_no_data)

  • none_on_no_data: 如果为true,则在睡眠并继续之前,如果没有数据,则返回None。

Follow().save_offset()

  • 无参数

示例

f = ponytail.Follow('/var/log/syslog')
for line in f.readlines():
    print(line.rstrip())

更详细的示例

f = ponytail.Follow('/var/log/syslog', offset_filename='/tmp/syslog.offset', watch_rotated_file_seconds=10)
for line in f.readlines():
    print(line.rstrip())

上面的代码将保存处理过的偏移量到文件中,之后处理将从前一个运行的停止点继续。它还会在轮转后停止监视旧文件,默认为10秒(默认为300秒)。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

ponytail-0.9.2.tar.gz (6.8 kB 查看哈希)

上传时间

构建分发

ponytail-0.9.2-py3-none-any.whl (7.5 kB 查看哈希)

上传时间 Python 3

支持