JL
ES
Inicio de documentación
Menú
Guías

Enviar Logs Por HTTP

Ingiere logs con POST /log y valida disponibilidad inmediata en memoria.

guide jsonlog

Enviar Logs Por HTTP

Objetivo: ingerir logs por HTTP y validar que estén disponibles de inmediato para lectura/streaming.

Precondiciones

  • El servicio JsonLog es alcanzable.
  • Para canales privados, ten un token Bearer con acc coincidente.
  • Envía siempre un cuerpo JSON en POST /log (mínimo {}).

Flujo De API/Script

  1. Enviar evento público:
    • POST /log con payload JSON.
  2. Enviar evento de canal:
    • POST /log?cid=<channel_id> con payload JSON.
  3. Leer logs en buffer:
    • GET /log para logs públicos.
    • GET /log?cid=<channel_id> para logs de canal.

Flujo HTTP/curl

JSONLOG_BASE_URL="http://localhost:3002"
ACCESS_TOKEN="<optional_account_token>"

# Evento público (no requiere auth)
curl -sS -X POST "${JSONLOG_BASE_URL}/log" \
  -H "content-type: application/json" \
  --data '{"message":"hello from public","service":"web"}'

# Evento de canal (auth opcional salvo que el canal sea privado)
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=svc-api" \
  -H "authorization: Bearer ${ACCESS_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"message":"channel event","_jsonlog":{"lvl":"info"}}'

# Leer buffer público
curl -sS "${JSONLOG_BASE_URL}/log"

# Leer buffer de canal
curl -sS "${JSONLOG_BASE_URL}/log?cid=svc-api" \
  -H "authorization: Bearer ${ACCESS_TOKEN}"

Validación

  • POST /log devuelve 200 cuando el payload es aceptado.
  • GET /log devuelve un arreglo.
  • GET /log?cid=<id> devuelve un arreglo para canales visibles y 404 para canales privados con cuenta incorrecta.

Documentación Relacionada