我有一个方法(从互联网上选择),它允许我记录传递给方法的所有参数和方法的返回值。但是,使用OOP模型,可以将数据项传递给函数以及从函数内访问的功能。我的问题是如何记录函数访问并记录它们的数据项(例如self.data
项),就在函数开始之前和函数结束之后。这是示例代码。
def save_to_log (methodname, method_obj):
def method(self,*argl,**argd):
args = []
for item in argl:
args.append('%s' % str(item))
for key,item in argd.items():
args.append('%s=%s' % (key,str(item)))
argstr = ','.join(args)
print >> log,"%s%s.%s(%s) " % (self.__class__.__name__, methodname, argstr)
returnval = method_obj(self, *argl,**argd)
print >> log,'%s:'% str(returnval)
return returnval
return method