Skip to content

Logger

wingpy.logger

logger

logger = Logger(
    core=Core(),
    exception=None,
    depth=0,
    record=False,
    lazy=False,
    colors=False,
    raw=False,
    capture=True,
    patchers=[],
    extra={},
)

log_exception

log_exception(
    exception: Exception,
    severity: Literal[
        "TRACE",
        "DEBUG",
        "INFO",
        "SUCCESS",
        "WARNING",
        "ERROR",
        "CRITICAL",
    ] = "ERROR",
) -> None

Log the exception message using the wingpy logger.

Parameters:

Name Type Description Default
severity str

The severity level to log the message at. Default is 'ERROR'.

'ERROR'
Source code in src/wingpy/logger.py
def log_exception(
    exception: Exception,
    severity: Literal[
        "TRACE", "DEBUG", "INFO", "SUCCESS", "WARNING", "ERROR", "CRITICAL"
    ] = "ERROR",
) -> None:
    """
    Log the exception message using the wingpy logger.

    Parameters
    ----------
    severity : str, optional
        The severity level to log the message at. Default is 'ERROR'.
    """
    if severity.upper() not in (
        "TRACE",
        "DEBUG",
        "INFO",
        "SUCCESS",
        "WARNING",
        "ERROR",
        "CRITICAL",
    ):
        logger.error(
            f"Invalid severity level '{severity}' provided. Defaulting to 'ERROR'"
        )
        severity = "ERROR"

    logger.log(
        severity.upper(), exception.__class__.__name__ + ": " + exception.__str__()
    )

log_to_file

log_to_file(level: str, filename: str)
Source code in src/wingpy/logger.py
def log_to_file(level: str, filename: str):
    sink = open(file=filename, mode="a")
    set_logging_level(level, sink=sink)

set_logging_level

set_logging_level(level: str, sink=_sys.stderr)
Source code in src/wingpy/logger.py
def set_logging_level(level: str, sink=_sys.stderr):
    logger.remove()
    logger.add(sink, level=level)