"""Module with helpers for logging."""fromcontextlibimportcontextmanagerfromtypingimportGeneratorfrom._custom_loggerimportlogger# type: ignore [attr-defined]
[docs]@contextmanagerdefexc_to_log(message:str="",reraise:bool=True)->Generator:"""Log `Exception` raised inside this context manager and reraise. Args: message (str, optional): Log message. Defaults to "". reraise (bool, optional): Whether to reraise the exception. Defaults to True. Yields: Generator: Context manager. """try:yieldexceptException:# pylint: disable=broad-exceptlogger.opt(depth=2).exception(message)logger.opt(depth=2).error("=== Exception logs above ===\n")ifreraise:raisefinally:pass