loguru 是如何实现打印错误堆栈的时候把变量值也给打印出来的?

python 自带的 traceback 貌似不能打印变量值,但是 loguru 可以,有谁研究过吗?

图片.png

阅读 1.9k
1 个回答

sys._getframe函数
例如

import sys
def get_trace_info():
    print(sys._getframe().f_code.co_filename)  # 当前文件名,可以通过__file__获得
    print(sys._getframe(0).f_code.co_name) # 当前函数名
    print(sys._getframe(1).f_code.co_name)  # 调用该函数的函数名字,如果没有被调用,则返回<module>
    print(sys._getframe(0).f_lineno) #当前函数的行号
    print(sys._getframe(1).f_lineno) # 调用该函数的行号
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题