2024-04-29 06:59:34 发布
网友
我在python中使用tailer来解析日志,但如果在服务器上轮换日志,它就失效了。什么样的决定可以代替?波本的尾巴-f-这不是Python的方式
发生logrotate事件后,将发生下一件事:
tailer模块仍将查看旧文件inode。在
您必须监视日志文件的inode值,以便正确跟踪日志。 这就是“尾巴-F”的意思。在
正如您在其源代码中看到的,tailer模块并没有设计成遵循源文件的logrotation:它基于recipe
http://code.activestate.com/recipes/157035/
对你的任务来说是无用的。在
请查看源配方的注释。在
在
请注意,或者用我的一个,它是“tail-f”的包装器:)
http://code.activestate.com/recipes/577398-tail-f-with-inode-monitor/
添加日志轮换功能应该没那么难。例如,如果您有:
for line in tailer.follow(open('test.txt')): print line
您可以向定期检查下一个文件名是否存在的函数添加回调。如果它存在,请退出循环并在新文件上开始一个循环。在
发生logrotate事件后,将发生下一件事:
tailer模块仍将查看旧文件inode。在
您必须监视日志文件的inode值,以便正确跟踪日志。 这就是“尾巴-F”的意思。在
正如您在其源代码中看到的,tailer模块并没有设计成遵循源文件的logrotation:它基于recipe
http://code.activestate.com/recipes/157035/
对你的任务来说是无用的。在
请查看源配方的注释。在
在
请注意,或者用我的一个,它是“tail-f”的包装器:)
http://code.activestate.com/recipes/577398-tail-f-with-inode-monitor/
添加日志轮换功能应该没那么难。例如,如果您有:
您可以向定期检查下一个文件名是否存在的函数添加回调。如果它存在,请退出循环并在新文件上开始一个循环。在
相关问题 更多 >
编程相关推荐