SKILL.md
structlog
structlog es la librería de logging principal del sistema. Produce logs JSON estructurados que incluyen sessionid, traceid y todos los campos necesarios para correlacionar eventos a través del pipeline KYC.
When to use
Usar en todos los agentes para emitir logs de cada evento significativo: inicio de sesión, resultado de cada agente, decisión final, errores y excepciones.
Instructions
- Instalar:
pip install structlog - Configurar en
backend/core/logging.py:
``python import structlog structlog.configure( processors=[ structlog.contextvars.mergecontextvars, structlog.processors.addloglevel, structlog.processors.TimeStamper(fmt="iso"), structlog.processors.JSONRenderer(), ], wrapperclass=structlog.BoundLogger, logger_factory=structlog.PrintLoggerFactory(), ) ``
- Usar
structlog.contextvars.bindcontextvars(sessionid=..., trace_id=...)al inicio de cada request. - Obtener logger en cada módulo:
log = structlog.get_logger(). - Emitir eventos con contexto:
log.info("livenessresult", score=0.87, decision="pass", agent="livenessagent"). - En caso de excepción:
log.exception("agenterror", agent="ocragent", error=str(e)). - Integrar con OpenTelemetry via
structlog-contextvarspara propagar trace_id automáticamente.
Notes
- Nunca loguear datos biométricos raw (embeddings, imágenes). Solo scores y decisiones.
- Nivel
DEBUGsolo en desarrollo; en producción usarINFOcomo mínimo. - Los logs van a Grafana Loki via Promtail — el campo
session_ides el índice de búsqueda primario.