UTILITY CLASS

SpecificLevelFilter

Herencia: logging.Filter

Filtro de registro personalizado que solo permite registros con un nivel de log específico (exact match). Ideal para separar logs de ERROR en un archivo y logs de INFO en otro.


Constructor

__init__(self, level: Union[int, str, None] = None)

Configura el nivel de registro que el filtro debe dejar pasar.

Parámetros:
  • level: Puede ser un entero (ej. 20), una cadena (ej. "INFO") o None.

Nota de lógica: Si se recibe un str, se convierte automáticamente a la constante entera de la librería logging usando getattr.

Lógica de Filtrado

filter(self, record: logging.LogRecord) -> bool

Evalúa si el registro actual debe ser procesado o ignorado.

Condición Resultado
record.levelno == self.level True (Se registra)
record.levelno != self.level False (Se ignora)