gpt4 book ai didi

python - 使用 Python 记录拖尾守护进程

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:03 24 4
gpt4 key购买 nike

我们有一个遗留的 C 编写的程序,可以将日志输出到文本文件,并且该程序能够每天轮换日志。

例如

app.log
app.log.2012-10-24
app.log.2012-10-23
..

现在我想写一个 python 守护进程来追踪日志并注入(inject)数据库,我的问题

  1. 在 Python 中尾部文件的推荐方法是什么? Twisted 还是 Pyinotify
  2. 如何处理守护进程停止并且我们需要恢复日志尾部的情况?我应该将偏移量存储在另一个文件中吗?

谢谢。

最佳答案

我遇到过类似的问题。我的做法是这样的:

import io
import time

def checklog(fs,logfile):
trytimes = 10
line = ''
while line == '':
time.sleep(1)
line = fs.readline().replace('\n','')
trytimes = trytimes - 1
while trytimes == 0 and line == '':
try:
fs = io.open(logfile,'rb')
fs.seek(0,2)
trytimes = 10
break
except:
time.sleep(10)
return line,fs


logfile="app.log"
fs = io.open(logfile,'rb')
fs.seek(0,2)# seek to tail of the logfile
while True:
line = fs.readline().replace('\n','')
while line == '':
line,fs = checklog(fs,logfile)
#do something for line;

希望这对您有所帮助。

关于python - 使用 Python 记录拖尾守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13132461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com