From fba2bcd284728fcaa7e64879cbac9133011071fd Mon Sep 17 00:00:00 2001 From: Augusto Vanderley Date: Thu, 19 Oct 2023 14:07:30 -0300 Subject: [PATCH] Add exception command --- lodge.py | 3 +++ test_lodge.py | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lodge.py b/lodge.py index a84ba6e..69e35aa 100644 --- a/lodge.py +++ b/lodge.py @@ -118,6 +118,9 @@ def warn(self, msg, *args, **kwargs): def error(self, msg, *args, **kwargs): self._get_logger().error(msg, *args, **kwargs) + def exception(self, msg, *args, **kwargs): + self._get_logger().exception(msg, *args, **kwargs) + def fatal(self, msg, *args, **kwargs): self._get_logger().fatal(msg, *args, **kwargs) diff --git a/test_lodge.py b/test_lodge.py index 27d7038..e6dee90 100644 --- a/test_lodge.py +++ b/test_lodge.py @@ -153,3 +153,20 @@ def test_proxy_log_warn_with_level_error_should_not_log(stream, monkeypatch): log_entry = stream.read() assert log_entry == "" + +def test_proxy_exception_method(stream): + with import_lodge() as lodge: + log = lodge.get_logger("test") + try: + 1/0 + except ZeroDivisionError as e: + log.exception("test_message") + + log_entry = stream.read() + json_entry = log_entry.split("\n")[0] + log_structured = json.loads(json_entry) + + assert log_structured["message"] == "test_message" + assert log_structured["level"] == "ERROR" + assert "Traceback (most recent call last)" in log_entry + assert "ZeroDivisionError: division by zero" in log_entry