Как я могу получить полную трассировку в следующем случае, включая вызовы функций func2
и func
?
import traceback
def func():
try:
raise Exception('Dummy')
except:
traceback.print_exc()
def func2():
func()
func2()
Когда я запустил это, я получаю:
Traceback (most recent call last):
File "test.py", line 5, in func
raise Exception('Dummy')
Exception: Dummy
traceback.format_stack()
- это не то, что я хочу, так как нужно traceback
объект, который должен быть передан стороннему модулю.
Меня особенно интересует этот случай:
import logging
def func():
try:
raise Exception('Dummy')
except:
logging.exception("Something awful happened!")
def func2():
func()
func2()
В этом случае я получаю:
ERROR:root:Something awful happened!
Traceback (most recent call last):
File "test.py", line 9, in func
raise Exception('Dummy')
Exception: Dummy