我正在运行一个中等大小的django项目,每当发生错误时都会打印回溯,但是Django模块的许多功能都在哪里.
但是我自己的项目代码中的实际罪魁祸首,它只有一行,并且由于回溯深度限制而隐藏了有用的上下文.所以我想通过模块路径而不是调用深度来过滤调用堆栈.
如果你没有看到这个问题,我有an very similar example in Java.我需要的是确保业务逻辑代码在异常中预先显示.
虽然我知道traceback.print_exc(),但你需要在try …中包装每个代码.
是否有可能改变python的默认回溯行为,因此django的调用堆栈更少,我自己的代码是更大的部分?
解决方法:
每当出现未处理的异常时,这就是Python调用来执行打印的功能
sys.excepthook(type, value, traceback)
type:异常类
value:未处理的异常实例
traceback:一个trackeback对象;与sys.last_traceback中存储的内容相同