pyln: Replace undecodeable symbols when tailing logs

Logs may contain non-ASCII and non-UTF8 symbols, which crashes the
tailer. It's better to replace them with a glyph representing
undecodeable symbols instead, and handle the issue further up the
call-chain.
This commit is contained in:
Christian Decker 2020-11-25 12:49:45 +01:00 committed by neil saitug
parent bb0910999e
commit 76124eb800

View File

@ -208,7 +208,7 @@ class TailableProc(object):
if len(line) == 0:
break
line = line.decode('ASCII').rstrip()
line = line.decode('UTF-8', 'replace').rstrip()
if self.log_filter(line):
continue
@ -227,7 +227,7 @@ class TailableProc(object):
for line in iter(self.proc.stderr.readline, ''):
if len(line) == 0:
break
self.err_logs.append(line.rstrip().decode('ASCII'))
self.err_logs.append(line.rstrip().decode('UTF-8', 'replace')).rstrip()
self.proc.stderr.close()
def is_in_log(self, regex, start=0):