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

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

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


回答:

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) # 调用该函数的行号

以上是 loguru 是如何实现打印错误堆栈的时候把变量值也给打印出来的? 的全部内容, 来源链接: utcz.com/p/938288.html

回到顶部