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

Transmitir Logs Por WebSocket

Suscríbete a streams en tiempo real públicos o por canal en /ws.

guide jsonlog

Transmitir Logs Por WebSocket

Objetivo: consumir logs en tiempo real mediante suscripciones WebSocket.

Precondiciones

  • El servicio JsonLog es alcanzable.
  • El cliente WebSocket soporta parámetros de query y headers de auth.
  • Para canales privados, usa un token Bearer válido de la cuenta propietaria.

Flujo De API/Script

  1. Abrir stream público:
    • upgrade GET /ws.
  2. Abrir stream de canal:
    • GET /ws?cid=<channel_id>.
  3. Aplicar filtro de nivel:
    • GET /ws?level=error o GET /ws?cid=<channel_id>&level=warn.
  4. Para canales privados:
    • incluir Authorization: Bearer <token> en el upgrade.

Flujo HTTP/curl

curl no puede completar el flujo WebSocket. Usa un cliente como wscat:

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

# Stream público
wscat -c "${JSONLOG_BASE_URL}/ws"

# Stream público con filtro de nivel
wscat -c "${JSONLOG_BASE_URL}/ws?level=error"

# Stream de canal
wscat -c "${JSONLOG_BASE_URL}/ws?cid=svc-api"

# Stream de canal privado (autenticado)
wscat -c "${JSONLOG_BASE_URL}/ws?cid=private-api" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"

Validación

  • El mensaje inicial contiene un arreglo de logs en buffer para ese alcance de stream.
  • El upgrade privado sin token devuelve 401.
  • El upgrade privado con token de cuenta incorrecta devuelve 404.

Documentación Relacionada