diff options
author | Tomás Touceda <chiiph@leap.se> | 2013-07-05 14:06:02 -0300 |
---|---|---|
committer | Tomás Touceda <chiiph@leap.se> | 2013-07-05 14:09:09 -0300 |
commit | 198aebc32340b961cbcafbcff61e0610a6d6b1aa (patch) | |
tree | b5e559d8f3d97c7d393882f916f949a326a7aa98 | |
parent | cf28cf88a00784661b2ee085afdf324c9a93100f (diff) |
Improve leap_assert traceback logging
-rw-r--r-- | changes/bug2895_improve_leap_assert | 2 | ||||
-rw-r--r-- | src/leap/common/check.py | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/changes/bug2895_improve_leap_assert b/changes/bug2895_improve_leap_assert new file mode 100644 index 0000000..8caea7e --- /dev/null +++ b/changes/bug2895_improve_leap_assert @@ -0,0 +1,2 @@ + o Improve leap_assert so that it only prints the traceback from the + leap_assert call up. Closes #2895
\ No newline at end of file diff --git a/src/leap/common/check.py b/src/leap/common/check.py index a2d39a6..e6b0b52 100644 --- a/src/leap/common/check.py +++ b/src/leap/common/check.py @@ -18,7 +18,6 @@ Set of functions to help checking situations """ -import inspect import logging import traceback @@ -39,9 +38,11 @@ def leap_assert(condition, message=""): if not condition: logger.error("Bug: %s" % (message,)) try: - frame = inspect.currentframe() - stack_trace = traceback.format_stack(frame) - logger.error(''.join(stack_trace)) + for formatted_line in traceback.format_list( + traceback.extract_stack()[:-1]): + for line in formatted_line.split("\n"): + if len(line.strip()) > 0: + logger.error(line) except Exception as e: logger.error("Bug in leap_assert: %r" % (e,)) assert condition, message |