透過 HTTP 傳送日誌
目的:透過 HTTP 擷取日誌,並驗證可立即供讀取/串流使用。
前置條件
- JsonLog 服務可連線。
- 私有頻道需具備
acc相符的 Bearer 權杖。 POST /log必須始終送出 JSON 請求本文(最少{})。
API/Script 流程
- 傳送公開事件:
- 以 JSON 載荷呼叫
POST /log。
- 以 JSON 載荷呼叫
- 傳送頻道事件:
- 以 JSON 載荷呼叫
POST /log?cid=<channel_id>。
- 以 JSON 載荷呼叫
- 讀取緩衝日誌:
- 公開日誌:
GET /log。 - 頻道日誌:
GET /log?cid=<channel_id>。
- 公開日誌:
HTTP/curl 流程
JSONLOG_BASE_URL="http://localhost:3002"
ACCESS_TOKEN="<optional_account_token>"
# 公開事件(不需驗證)
curl -sS -X POST "${JSONLOG_BASE_URL}/log" \
-H "content-type: application/json" \
--data '{"message":"hello from public","service":"web"}'
# 頻道事件(除私有頻道外驗證可選)
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"}}'
# 讀取公開緩衝
curl -sS "${JSONLOG_BASE_URL}/log"
# 讀取頻道緩衝
curl -sS "${JSONLOG_BASE_URL}/log?cid=svc-api" \
-H "authorization: Bearer ${ACCESS_TOKEN}"
驗證
POST /log在載荷被接受時回傳200。GET /log回傳陣列。GET /log?cid=<id>對可見頻道回傳陣列,帳戶不符的私有頻道回傳404。