Source code for xdev.tracebacks


[docs] def make_warnings_print_tracebacks(): """ Makes warnings show tracebacks when displayed. Applies a monkeypatch to warnings.formatwarning that includes a traceback in the displayed warning message. """ import warnings import traceback _orig_formatwarning = warnings.formatwarning warnings._orig_formatwarning = _orig_formatwarning def _monkeypatch_formatwarning_tb(*args, **kwargs): s = _orig_formatwarning(*args, **kwargs) if len(s.strip()): tb = traceback.format_stack() s += ''.join(tb[:-1]) return s warnings.formatwarning = _monkeypatch_formatwarning_tb