使用Python记录跟踪守护进程
我们有一个遗留的使用Python记录跟踪守护进程,python,linux,file,sysadmin,Python,Linux,File,Sysadmin,我们有一个遗留的C编写的程序,可以将日志输出到文本文件,并且该程序能够每天旋转日志 e、 g 现在我想编写一个python守护进程,跟踪日志并将其注入DB,我的问题是 用Python跟踪文件的推荐方法是什么扭曲的或Pyinotify 如何处理守护进程停止并且需要恢复日志跟踪的情况?我应该将偏移量存储在另一个文件中吗 谢谢。我也遇到过类似的问题。 我的做法是: import io import time def checklog(fs,logfile): trytimes = 10
C
编写的程序,可以将日志输出到文本文件,并且该程序能够每天旋转日志
e、 g
现在我想编写一个python守护进程,跟踪日志并将其注入DB,我的问题是
Pyinotify
谢谢。我也遇到过类似的问题。 我的做法是:
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;
希望这有帮助
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;