"""Common module.""" import logging import os import sys import time from functools import wraps LOGGER_LEVEL = getattr( logging, os.environ.get('LOGGER_LEVEL', logging.getLevelName(logging.WARNING)) ) logger = logging.getLogger() logger.setLevel(LOGGER_LEVEL) stream_handler = logging.StreamHandler(sys.stdout) stream_handler.setLevel(logging.DEBUG) logger.handlers = [stream_handler] def timer(func): """Log the runtime of the decorated function.""" @wraps(func) def inner(*args, **kwargs): start_time = time.time() retval = func(*args, **kwargs) logger.debug(f'{time.time() - start_time:.2f} seconds elapsed') return retval return inner