diff --git a/usadelndsoc/__init__.py b/usadelndsoc/__init__.py index 84d4a11dc168e0b468f153775cfaf645ebf91957..85ea542470218a6ec38a1243d0d4e3cd9705aeb5 100644 --- a/usadelndsoc/__init__.py +++ b/usadelndsoc/__init__.py @@ -1,7 +1,6 @@ # -*- coding:utf-8; eval: (blacken-mode) -*- import logging -import contextlib logger = logging.getLogger(__name__) @@ -36,15 +35,23 @@ def _init_logging(): logging.config.dictConfig(cfg) -@contextlib.contextmanager def with_log_level(level): - old_level = int(logger.level) - logger.setLevel(level) - try: - yield - finally: - logger.setLevel(old_level) + import functools + + def deco(func): + @functools.wraps(func) + def wrapper(*a, **kw): + old_level = int(logger.level) + logger.setLevel(level) + try: + return func(*a, **kw) + finally: + logger.setLevel(old_level) + + return wrapper + + return deco _init_logging() -del _init_logging, logging, contextlib +del _init_logging, logging