Существует несколько способов печати информации о трассировке.
Как уже упоминалось в комментариях, вы можете использовать функцию traceback модуля print_exc
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 автоматически зарегистрирует трассировку как часть сообщения журнала уровня ОШИБКИ.
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