Make you pass in logfile to follow, try to show when we send data from the overflowqueue. Fix a wording-wrong.
This commit is contained in:
@@ -63,7 +63,7 @@ def filefetcher(filename: str, collector_queue, signal_queue, sleep_sec=0.5, see
|
||||
if line.isspace():
|
||||
logging.debug('Empty line is empty, thank you for the newline')
|
||||
else:
|
||||
logging.debug('Sending line ending at pos ' + str(input_file.tell()))
|
||||
logging.debug('Parsing line ending at pos ' + str(input_file.tell()))
|
||||
parse_and_queue_line(line, collector_queue)
|
||||
line = ''
|
||||
start_stat = os.stat(filename)
|
||||
@@ -226,8 +226,10 @@ class RequestHandler(socketserver.BaseRequestHandler):
|
||||
while True:
|
||||
try:
|
||||
if self.overflowqueue.empty != True:
|
||||
while True:
|
||||
tosend = self.overflowqueue.get_nowait()
|
||||
if tosend:
|
||||
logging.debug('Sending ' + str(tosend) + ' from overflowqueue')
|
||||
self.send(tosend)
|
||||
except queue.Empty:
|
||||
pass
|
||||
@@ -237,8 +239,8 @@ class RequestHandler(socketserver.BaseRequestHandler):
|
||||
tosend = str(event[0]) + ' ' + event[1]
|
||||
try:
|
||||
self.send(tosend)
|
||||
except BrokenPipeError:
|
||||
logging.error('Client gone')
|
||||
except (BrokenPipeError, ConnectionResetError) as error:
|
||||
logging.error('Client gone: ' + str(error))
|
||||
self.overflowqueue.put(tosend)
|
||||
break
|
||||
try:
|
||||
@@ -247,6 +249,7 @@ class RequestHandler(socketserver.BaseRequestHandler):
|
||||
logging.error('Client gone')
|
||||
self.overflowqueue.put(tosend)
|
||||
break
|
||||
start_time = datetime.now()
|
||||
except queue.Empty:
|
||||
pass
|
||||
|
||||
@@ -362,7 +365,11 @@ def main():
|
||||
'''Main thingy'''
|
||||
setproctitle('routerstats-collector main-thread')
|
||||
logging.debug('Starting as PID ' + str(os.getpid()))
|
||||
file_to_follow = 'syslogemu.log'
|
||||
try:
|
||||
file_to_follow = sys.argv[1]
|
||||
except IndexError:
|
||||
logging.error('Need a log file to tail')
|
||||
sys.exit()
|
||||
#Just quit early if file is missing..
|
||||
if os.path.isfile(file_to_follow) is False:
|
||||
logging.error('Could not find file ' + file_to_follow)
|
||||
|
||||
Reference in New Issue
Block a user