我请求帮助解决以下问题:访问方法堆栈,使用函数(值)的“函数名称”,“参数”和刚刚执行的返回。
简而言之:获取方法的执行链,包括名称,参数和返回。
有没有办法在每个方法中执行而不添加装饰器?
我已经尝试过使用traceback模块,但它不起作用,因为它只显示下面主方法的“后退”字符串。
我尝试使用StackSummary / FrameSummary,但也没有成功=(
def func_a(param_a1):
print('Executing function A with: {0}'.format(param_a1))
func_b("a", "b")
return "ok"
def func_b(param_b1, param_b2):
print('Executing function B with: {0}, {1}'.format(param_b1, param_b2))
return None
def func_c():
print('Executing function C without args')
return None
if __name__ == '__main__':
# Call function_a()
func_a("testing params")
# Get here???
# call func_a("testing params")
# -> call func_b("a", "b")
# -> call func_c()
# returning None
# returning None
# returning "ok"
感谢您的关注