我们有一个遗留C
编写的程序,可以将日志输出到文本文件,该程序可以每天旋转日志。
e.g。
app.log
app.log.2012-10-24
app.log.2012-10-23
..
现在我想编写一个python守护程序,它会拖尾日志并注入DB,我的问题
Twisted
或Pyinotify
?感谢。
答案 0 :(得分: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;
希望这有帮助。