Envoyer Des Logs En HTTP
Objectif : ingérer des logs via HTTP et vérifier leur disponibilité immédiate pour lecture/streaming.
Préconditions
- Le service JsonLog est joignable.
- Pour les canaux privés, disposer d’un token Bearer avec
acccorrespondant. - Toujours envoyer un corps JSON sur
POST /log(minimum{}).
Flux API/Script
- Envoyer un événement public :
POST /logavec payload JSON.
- Envoyer un événement de canal :
POST /log?cid=<channel_id>avec payload JSON.
- Lire les logs en mémoire :
GET /logpour les logs publics.GET /log?cid=<channel_id>pour les logs de canal.
Flux HTTP/curl
JSONLOG_BASE_URL="http://localhost:3002"
ACCESS_TOKEN="<optional_account_token>"
# Événement public (pas d'auth requise)
curl -sS -X POST "${JSONLOG_BASE_URL}/log" \
-H "content-type: application/json" \
--data '{"message":"hello from public","service":"web"}'
# Événement de canal (auth optionnelle sauf canal privé)
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"}}'
# Lire le buffer public
curl -sS "${JSONLOG_BASE_URL}/log"
# Lire le buffer de canal
curl -sS "${JSONLOG_BASE_URL}/log?cid=svc-api" \
-H "authorization: Bearer ${ACCESS_TOKEN}"
Validation
POST /logretourne200sur payload accepté.GET /logretourne un tableau.GET /log?cid=<id>retourne un tableau pour canaux visibles,404pour canal privé avec mauvais compte.