Source code for skrough.logs

"""Logging utils."""

import functools
import logging
from typing import Optional


[docs]def log_start_end( logger: logging.Logger, name: Optional[str] = None, level: int = logging.DEBUG, ): def decorator(fun): @functools.wraps(fun) def decorated(*args, **kwargs): reported_name = name or fun.__name__ logger.log(level, "enter %s", reported_name) result = fun(*args, **kwargs) logger.log(level, "exit %s", reported_name) return result return decorated return decorator