diff --git a/usadelndsoc/__init__.py b/usadelndsoc/__init__.py
index 34bc4e1ee88b2e1f6c57b7abbf979662a681d2f8..84d4a11dc168e0b468f153775cfaf645ebf91957 100644
--- a/usadelndsoc/__init__.py
+++ b/usadelndsoc/__init__.py
@@ -1,6 +1,7 @@
 # -*- coding:utf-8; eval: (blacken-mode) -*-
 
 import logging
+import contextlib
 
 
 logger = logging.getLogger(__name__)
@@ -35,5 +36,15 @@ 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)
+
+
 _init_logging()
-del _init_logging, logging
+del _init_logging, logging, contextlib