From 560663601d002034f02e0b0fbffc74d4692b9504 Mon Sep 17 00:00:00 2001 From: thatmattlove Date: Sun, 12 Sep 2021 18:27:10 -0700 Subject: [PATCH] Fix exception logging issue from Delgan/loguru#504 --- hyperglass/log.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/hyperglass/log.py b/hyperglass/log.py index f8c7db5..3c02d25 100644 --- a/hyperglass/log.py +++ b/hyperglass/log.py @@ -43,11 +43,22 @@ def setup_lib_logging() -> None: _loguru_logger.bind(logger_name=name) +def _log_patcher(record): + """Patch for exception handling in logger. + + See: https://github.com/Delgan/loguru/issues/504 + """ + exception = record["exception"] + if exception is not None: + fixed = Exception(str(exception.value)) + record["exception"] = exception._replace(value=fixed) + + def base_logger(level: str = "INFO"): """Initialize hyperglass logging instance.""" _loguru_logger.remove() _loguru_logger.add(sys.stdout, format=_FMT, level=level, enqueue=True) - _loguru_logger.configure(levels=_LOG_LEVELS) + _loguru_logger.configure(levels=_LOG_LEVELS, patcher=_log_patcher) return _loguru_logger