JL
ZH-TW
文件首頁
選單
指南

透過 WebSocket 串流日誌

在 /ws 訂閱公開或頻道範圍的即時串流。

guide jsonlog

透過 WebSocket 串流日誌

目的:透過 WebSocket 訂閱來消費即時日誌。

前置條件

  • JsonLog 服務可連線。
  • WebSocket 用戶端支援查詢參數與驗證標頭。
  • 私有頻道需提供頻道擁有帳戶的有效 Bearer 權杖。

API/Script 流程

  1. 開啟公開串流:
    • GET /ws 升級。
  2. 開啟頻道串流:
    • GET /ws?cid=<channel_id>
  3. 套用等級篩選:
    • GET /ws?level=errorGET /ws?cid=<channel_id>&level=warn
  4. 對私有頻道:
    • 在升級請求中加入 Authorization: Bearer <token>

HTTP/curl 流程

curl 無法完成 WebSocket 流程。請使用 wscat 等 WebSocket 客戶端:

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

# 公開串流
wscat -c "${JSONLOG_BASE_URL}/ws"

# 帶等級篩選的公開串流
wscat -c "${JSONLOG_BASE_URL}/ws?level=error"

# 頻道串流
wscat -c "${JSONLOG_BASE_URL}/ws?cid=svc-api"

# 私有頻道串流(已驗證)
wscat -c "${JSONLOG_BASE_URL}/ws?cid=private-api" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"

驗證

  • 初始訊息包含該串流範圍的緩衝日誌陣列。
  • 私有頻道升級缺少權杖會回傳 401
  • 私有頻道升級使用錯誤帳戶權杖會回傳 404

相關文件