Я пытаюсь написать декоратор для ведения журнала:
def logger(myFunc):
def new(*args, **keyargs):
print 'Entering %s.%s' % (myFunc.im_class.__name__, myFunc.__name__)
return myFunc(*args, **keyargs)
return new
class C(object):
@logger
def f():
pass
C().f()
Я бы хотел, чтобы это печаталось:
Entering C.f
но вместо этого я получаю это сообщение об ошибке:
AttributeError: 'function' object has no attribute 'im_class'
Предположительно, это связано с объемом "myFunc" внутри "logger", но я понятия не имею, что.