Существует несколько способов печати информации о трассировке.
Как уже упоминалось в комментариях, вы можете использовать функцию traceback модуля print_exc [115]
try:
1 / 0
except Exception:
traceback.print_exc()
Traceback (most recent call last):
File "exes.py", line 10, in <module>
1 / 0
ZeroDivisionError: division by zero
Если вы используете модуль регистрации, то Функция logging.exception автоматически регистрирует трассировку как часть сообщения журнала уровня ERROR.
try:
2 / 0
except Exception:
logging.exception('Something went wrong')
ERROR:root:Something went wrong
Traceback (most recent call last):
File "exes.py", line 15, in <module>
2 / 0
ZeroDivisionError: division by zero
Если вы предпочитаете регистрировать трассировку на другом уровне журнала, вы можете передать exc_info=True
в функцию журналирования, чтобы зарегистрировать трассировку.
try:
3 / 0
except Exception:
logging.warning('Something went wrong.', exc_info=True)
WARNING:root:Something went wrong.
Traceback (most recent call last):
File "exes.py", line 20, in <module>
3 / 0
ZeroDivisionError: division by zero