Saltar a contenido

Log

Configuración del logger.

Este módulo contiene las funciones que permiten configurar y usar el logger para el proyecto.

Se usa Loguru como libraría para gestionar el log.

Author: Alejandro Perez Londoño

patching(record)

Parcha el record del log.

Ajusta la información que va en el log

Parameters:

Name Type Description Default
record dict

record del log definido por loguru

required
Source code in src/logger.py
def patching(record: loguru.Record):
    """Parcha el record del log.

    Ajusta la información que va en el log

    Args:
        record (dict): record del log definido por loguru
    """
    record["extra"]["serialized"] = serialize(record)

serialize(record)

Extrae y serializa en JSON la información del record para el log.

Parameters:

Name Type Description Default
record dict

record del log definido por loguru

required

Returns:

Name Type Description
str str

subconjunto de información del record en formato JSON

Source code in src/logger.py
def serialize(record: loguru.Record) -> str:
    """Extrae y serializa en JSON la información del record para el log.

    Args:
        record (dict): record del log definido por loguru

    Returns:
        str: subconjunto de información del record en formato JSON
    """
    subset = {
        "timestamp": record["time"].timestamp(),
        "time": record["time"].strftime("%Y-%m-%d %H:%M:%S.%f tz %z"),
        "level": record["level"].name,
        "file": record["file"].name,
        "line": record["line"],
        "message": record["message"],
    }
    return json.dumps(subset, ensure_ascii=False)