"""Decorator for timing functions. INFO level logging. """ import time from decorator import decorator from flask import g @decorator def timed_fn(f, *args, **kw): """Time a function to 6 digits of precision and print to info log.""" t1 = time.time() res = f(*args, **kw) t2 = time.time() msg = '{}.{} runtime {:.6f} seconds'.format( f.__module__, f.__name__, t2 - t1) g.log.info(msg) return res