Мне нравится использовать декоратор функций.
Я добавил класс, который также умножает время функции. Предположим, что gLog является стандартным регистратором Python:
class EnterExitLog():
def __init__(self, funcName):
self.funcName = funcName
def __enter__(self):
gLog.debug('Started: %s' % self.funcName)
self.init_time = datetime.datetime.now()
return self
def __exit__(self, type, value, tb):
gLog.debug('Finished: %s in: %s seconds' % (self.funcName, datetime.datetime.now() - self.init_time))
def func_timer_decorator(func):
def func_wrapper(*args, **kwargs):
with EnterExitLog(func.__name__):
return func(*args, **kwargs)
return func_wrapper
так что теперь все, что вам нужно сделать с вашей функцией - это украсить ее и вуаля
@func_timer_decorator
def my_func():