背景说明
如tomcat 启动后,需要判断新日志中是否出现start字样,直到出现这个字样,如果300s没有返回,自动结束。
代码
# encoding: utf-8
import time
logfile = 'log.txt'
keyword = 'Start'
timeout = 300
def tail_log(logfile):
logfile.seek(0,2)
check_time = timeout
while check_time > 1:
time.sleep(1)
check_time = check_time - 1
where = logfile.tell()
lines = logfile.readline()
if not lines:
logfile.seek(where)
else:
yield lines
if __name__ == '__main__':
logfile = open(logfile,'r')
for line in tail_log(logfile):
if line.find(keyword):
print('''{}'''.format(str(line)))
else:
break
logfile.close()