summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--systemd/journal.py10
-rw-r--r--systemd/test/test_journal.py2
2 files changed, 6 insertions, 6 deletions
diff --git a/systemd/journal.py b/systemd/journal.py
index c98a85b..cb37150 100644
--- a/systemd/journal.py
+++ b/systemd/journal.py
@@ -575,11 +575,10 @@ class JournalHandler(_logging.Handler):
try:
msg = self.format(record)
pri = self.map_priority(record.levelno)
- extras = {k: str(v) for k, v in self._extra.items()}
- extras.update({
- k: str(v) for k, v in record.__dict__.items()
- })
+ # defaults
+ extras = self._extra.copy()
+ # higher priority
if record.exc_text:
extras['EXCEPTION_TEXT'] = record.exc_text
@@ -589,6 +588,9 @@ class JournalHandler(_logging.Handler):
if record.args:
extras['CODE_ARGS'] = str(record.args)
+ # explicit arguments — highest priority
+ extras.update(record.__dict__)
+
self.send(msg,
PRIORITY=format(pri),
LOGGER=record.name,
diff --git a/systemd/test/test_journal.py b/systemd/test/test_journal.py
index 9b65069..49e4279 100644
--- a/systemd/test/test_journal.py
+++ b/systemd/test/test_journal.py
@@ -107,7 +107,6 @@ def test_journalhandler_no_message_id():
assert all(not m.startswith('MESSAGE_ID=') for m in sender.buf[0])
def test_journalhandler_message_id_on_handler():
- pytest.xfail()
record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
sender = MockSender()
handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
@@ -126,7 +125,6 @@ def test_journalhandler_message_id_on_handler_hex():
assert 'MESSAGE_ID=' + TEST_MID.hex in sender.buf[0]
def test_journalhandler_message_id_on_message():
- pytest.xfail()
record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
record.__dict__['MESSAGE_ID'] = TEST_MID2
sender = MockSender()