diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 07f2065..0b2c256 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,5 @@ +v1.1.0 +- Allow users to set their own stacklevel v1.0.12 - Properly decode argument to number or string - Make default level from CLI = None diff --git a/logistro/_api.py b/logistro/_api.py index 7a3bff3..ca3e455 100644 --- a/logistro/_api.py +++ b/logistro/_api.py @@ -85,10 +85,12 @@ def format(self, record: logging.LogRecord) -> str: # https://github.com/python/mypy/wiki/Unsupported-Python-Features class _LogistroLogger(logging.getLoggerClass()): # type: ignore[misc] def debug1(self, msg: str, *args: Any, **kwargs: Any) -> None: - super().log(logging.DEBUG, msg, *args, stacklevel=2, **kwargs) + stacklevel = kwargs.pop("stacklevel", 0) + 2 + super().log(logging.DEBUG, msg, *args, stacklevel=stacklevel, **kwargs) def debug2(self, msg: str, *args: Any, **kwargs: Any) -> None: - super().log(DEBUG2, msg, *args, stacklevel=2, **kwargs) + stacklevel = kwargs.pop("stacklevel", 0) + 2 + super().log(DEBUG2, msg, *args, stacklevel=stacklevel, **kwargs) logging.setLoggerClass(_LogistroLogger)