about summary refs log tree commit diff
path: root/gn_libs
diff options
context:
space:
mode:
Diffstat (limited to 'gn_libs')
-rw-r--r--gn_libs/debug.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/gn_libs/debug.py b/gn_libs/debug.py
index c1b896e..7ad10e0 100644
--- a/gn_libs/debug.py
+++ b/gn_libs/debug.py
@@ -1,6 +1,7 @@
 """Debug utilities"""
 import logging
 import importlib.util
+from typing import Callable
 
 __this_module_name__ = __name__
 
@@ -26,3 +27,15 @@ def __pk__(*args):
     logger = getLogger(__this_module_name__)
     logger.debug("%s: %s", title_vals, value)
     return value
+
+
+def make_peeker(logger: logging.Logger) -> Callable:
+    """Make a peeker function that's very much like __pk__ but that uses the
+    given logger."""
+    def peeker(*args):
+        value = args[-1]
+        title_vals = " => ".join(args[0:-1])
+        logger.debug("%s: %s", title_vals, value)
+        return value
+
+    return peeker