Skip to content

Commit a605944

Browse files
author
Alex Boten
committed
fix bug
1 parent 12ec443 commit a605944

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

lightstep/recorder.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ def _normalize_log(self, log):
172172

173173
if STACK in log.key_values:
174174
log.key_values[STACK] = util._format_exc_tb(
175-
log.key_values.get(ERROR_OBJECT),
176175
log.key_values.get(ERROR_KIND),
176+
log.key_values.get(ERROR_OBJECT),
177177
log.key_values[STACK]
178178
)
179179

lightstep/util.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ def _coerce_to_unicode(val):
105105
return '(encoding error)'
106106

107107

108-
def _format_exc_tb(exc_value, exc_type, exc_tb):
108+
def _format_exc_tb(exc_type, exc_value, exc_tb):
109109
if type(exc_tb) is types.TracebackType:
110-
return ''.join(traceback.format_exception(exc_value, exc_type, exc_tb))
110+
return ''.join(traceback.format_exception(exc_type, exc_value, exc_tb))
111111

112112
return exc_tb
113113

tests/recorder_test.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -225,22 +225,30 @@ def test_exception_formatting(recorder):
225225
assert len(recorder._span_records) == 1
226226
assert recorder.flush(mock_connection)
227227
spans = recorder.converter.get_span_records(mock_connection.reports[1])
228+
228229
if hasattr(spans[0], "log_records"):
229230
assert len(spans[0].log_records) == 1
230231
assert len(spans[0].log_records[0].fields) == 3
231-
assert spans[0].log_records[0].fields[0].Key == "stack"
232-
assert spans[0].log_records[0].fields[1] == ttypes.KeyValue(
233-
Key="error.kind", Value="Exception"
234-
)
235-
assert spans[0].log_records[0].fields[2] == ttypes.KeyValue(
236-
Key="error.object", Value=""
237-
)
232+
for field in spans[0].log_records[0].fields:
233+
if field.Key == "stack":
234+
assert "Traceback (most recent call last):" in field.Value
235+
elif field.Key == "error.kind":
236+
assert field.Value == "Exception"
237+
elif field.Key == "error.object":
238+
assert field.Value == ""
239+
else:
240+
raise AttributeError("unexpected field: %s".format(field.Key))
238241
else:
239242
assert len(spans[0].logs) == 1
240243
assert len(spans[0].logs[0].fields) == 3
241-
assert spans[0].logs[0].fields[0].key == "stack"
242-
assert spans[0].logs[0].fields[1].key == "error.kind"
243-
assert spans[0].logs[0].fields[1].string_value == "Exception"
244-
assert spans[0].logs[0].fields[2].key == "error.object"
245-
assert spans[0].logs[0].fields[2].string_value == ""
244+
245+
for field in spans[0].logs[0].fields:
246+
if field.key == "stack":
247+
assert "Traceback (most recent call last):" in field.string_value
248+
elif field.key == "error.kind":
249+
assert field.string_value == "Exception"
250+
elif field.key == "error.object":
251+
assert field.string_value == ""
252+
else:
253+
raise AttributeError("unexpected field: %s".format(field.key))
246254

0 commit comments

Comments
 (0)