Fix systemd severity filter input data
The severity filters are passed the entire json event and not just a string. Update the systemd filter to access the message string out of the event json dict. Prior to this we get a type error: 2019-08-19 17:18:48,055 Exception handling log event. Traceback (most recent call last): File "/usr/local/bin/log-gearman-worker.py", line 255, in _handle_event keep_line = f.process(out_event) File "/usr/local/bin/log-gearman-worker.py", line 183, in process m = self.SYSTEMDRE.match(msg) TypeError: expected string or buffer Change-Id: I7ab56ac397133f00539d9d3374fa400363ef12d6
This commit is contained in:
parent
3119c0cddd
commit
b9063a7e7e
|
@ -179,7 +179,8 @@ class SystemdSeverityFilter(object):
|
|||
'(?P<severity>%s)?.*)' % (SYSTEMDDATE, SEVERITYFMT)
|
||||
SYSTEMDRE = re.compile(SYSTEMD_LOGMATCH)
|
||||
|
||||
def process(self, msg):
|
||||
def process(self, data):
|
||||
msg = data['message']
|
||||
m = self.SYSTEMDRE.match(msg)
|
||||
if m:
|
||||
if m.group('severity') == 'DEBUG':
|
||||
|
@ -314,7 +315,7 @@ class LogRetriever(threading.Thread):
|
|||
f.close()
|
||||
elif encoding == 'deflate':
|
||||
logging.debug("Decompressing deflate compressed source file.")
|
||||
buf = zlib.decompress(raw_buf)
|
||||
buf = zlib.decompress(raw_buf).decode('utf-8')
|
||||
else:
|
||||
logging.debug("Decoding raw source file.")
|
||||
buf = raw_buf.decode('utf-8')
|
||||
|
|
Loading…
Reference in New Issue