Всем привет. Есть лог, который все время пишется, и при достижении определенного размера, начинает писаться заново (с нуля). Написала обработчик данного лога, который в динамике ищет фразы по шаблону и инсертит их. Проблема, как раз в моменте перезапуска лога. Подходящих решений не нашла, может кто сталкивался?
import os, time
import datetime
import re
import cx_Oracle
def tail(fileone):
fileone.seek(0,2)
while True:
line = fileone.readline()
if not line:
time.sleep(0.1)
continue
yield line
files = []
listing = []
con = cx_Oracle.connect('user/pass@127.0.0.1/mybase')
cur = con.cursor()
pat = r'MASK'
fileone = open('C:/My.log')
logStr = tail(fileone)
for line in logStr:
if 'mask1' in line:
regular = re.search(pat, line)
s = regular.group(2)
example = [( s, datetime.datetime.now())]
print example
cur.executemany ("""
insert into table(id, sys_creation_date)
values (:1, :2)
""", example)
con.commit()
fileone.close()
cur.close()
con.close()