davidcastagnetoa/skills

structlog

Logging JSON estructurado y de alto rendimiento con trazabilidad completa por sesión

First seen Mar 6, 2026

Installation

$ npx skills add davidcastagnetoa/skills --skill structlog

Also in this package

Other skills from davidcastagnetoa/skills · top by installs.

npx skills add davidcastagnetoa/skills

Browse all from davidcastagnetoa/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,835 B
  • docs SUMMARY.md 102 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 5 installs

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

  1. Instalar: pip install structlog
  2. 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(), ) ``

  1. Usar structlog.contextvars.bindcontextvars(sessionid=..., trace_id=...) al inicio de cada request.
  2. Obtener logger en cada módulo: log = structlog.get_logger().
  3. Emitir eventos con contexto: log.info("livenessresult", score=0.87, decision="pass", agent="livenessagent").
  4. En caso de excepción: log.exception("agenterror", agent="ocragent", error=str(e)).
  5. Integrar con OpenTelemetry via structlog-contextvars para propagar trace_id automáticamente.

Notes

  • Nunca loguear datos biométricos raw (embeddings, imágenes). Solo scores y decisiones.
  • Nivel DEBUG solo en desarrollo; en producción usar INFO como mínimo.
  • Los logs van a Grafana Loki via Promtail — el campo session_id es el índice de búsqueda primario.