def test_format(self): """ Test format method from JSONFormatter """ log_record = makeLogRecord({"label": "value"}) json_fmt = JSONFormatter(json_fields=["label"]) self.assertEqual(json_fmt.format(log_record), '{"label": "value"}')
def test_format_with_extras(self): """ Test format with extras method from JSONFormatter """ log_record = makeLogRecord({"label": "value"}) json_fmt = JSONFormatter(json_fields=["label"], extras={'pod_extra': 'useful_message'}) # compare as a dicts to not fail on sorting errors self.assertDictEqual(json.loads(json_fmt.format(log_record)), { "label": "value", "pod_extra": "useful_message" })
def test_format_with_exception(self): """ Test exception is included in the message when using JSONFormatter """ try: raise RuntimeError("message") except RuntimeError: exc_info = sys.exc_info() log_record = makeLogRecord({ "exc_info": exc_info, "message": "Some msg" }) json_fmt = JSONFormatter(json_fields=["message"]) log_fmt = json.loads(json_fmt.format(log_record)) assert "message" in log_fmt assert "Traceback (most recent call last)" in log_fmt["message"] assert 'raise RuntimeError("message")' in log_fmt["message"]