diff --git a/.gitignore b/.gitignore index 661e82034..70cadbb3c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ *.swp *.pss .DS_Store -.coverage +.coverage* .eggs/ .pytest_cache/ .tox/ diff --git a/supervisor/loggers.py b/supervisor/loggers.py index 5793698d2..84d47ae8e 100644 --- a/supervisor/loggers.py +++ b/supervisor/loggers.py @@ -16,6 +16,7 @@ from supervisor.compat import syslog from supervisor.compat import long from supervisor.compat import is_text_stream +from supervisor.compat import as_string class LevelsByName: CRIT = 50 # messages that probably require immediate user attention @@ -288,10 +289,9 @@ def asdict(self): part1 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(now)) asctime = '%s,%03d' % (part1, msecs) levelname = LOG_LEVELS_BY_NUM[self.level] + msg = as_string(self.msg) if self.kw: - msg = self.msg % self.kw - else: - msg = self.msg + msg = msg % self.kw self.dictrepr = {'message':msg, 'levelname':levelname, 'asctime':asctime} return self.dictrepr diff --git a/supervisor/tests/test_loggers.py b/supervisor/tests/test_loggers.py index 4d38ad841..0742c1766 100644 --- a/supervisor/tests/test_loggers.py +++ b/supervisor/tests/test_loggers.py @@ -535,9 +535,12 @@ def asdict(self): @mock.patch('syslog.syslog', MockSysLog()) def test_emit_ascii_noerror(self): handler = self._makeOne() - record = self._makeLogRecord('hello!') + record = self._makeLogRecord(b'hello!') handler.emit(record) syslog.syslog.assert_called_with('hello!') + record = self._makeLogRecord('hi!') + handler.emit(record) + syslog.syslog.assert_called_with('hi!') @mock.patch('syslog.syslog', MockSysLog()) def test_close(self):