From e73a2a35b22b21bb2bc737bd55cace981f15ed2b Mon Sep 17 00:00:00 2001 From: Matthew Booth Date: Thu, 21 Sep 2017 15:55:20 +0100 Subject: [PATCH] Fix incorrect auto-detection as timestamp log TSLogParser was searching for any instance of [] in a log line, which was incorrectly matching on, eg: Sep 15 18:09:46 clgrabguye21.localdomain su[160015]: ... With this change we assert that the timestamp occurs at the beginning of the line. Change-Id: I04da2f1fa661bccfd3b046dfc22e5a10f6cb37f8 --- oslogmerger/oslogmerger.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/oslogmerger/oslogmerger.py b/oslogmerger/oslogmerger.py index 63d56b7..946cf66 100644 --- a/oslogmerger/oslogmerger.py +++ b/oslogmerger/oslogmerger.py @@ -304,7 +304,8 @@ class TSLogParser(LogParser): @staticmethod def _read_timestamp(line): - start = line.index('[') + 1 + # skip leading '[' + start = 1 end = line.index(']') if end < start: @@ -347,6 +348,9 @@ class LogFile(object): parser.parse_line(line) # It worked! + print('Detected %s as %s' % + (filename, parser.__class__.__name__), + file=sys.stderr) return parser except ValueError: pass