JL
JA
ドキュメントホーム
メニュー
ガイド

WebSocket でログをストリーミング

`/ws` で公開またはチャネルスコープのリアルタイムストリームを購読します。

guide jsonlog

WebSocket でログをストリーミング

目的: WebSocket サブスクリプションでリアルタイムログを受信すること。

前提条件

  • JsonLog サービスに到達できること。
  • WebSocket クライアントがクエリパラメータと認証ヘッダーをサポートしていること。
  • プライベートチャネルでは、チャネル所有アカウントの有効な Bearer トークンを使うこと。

API/Script フロー

  1. 公開ストリームを開く:
    • GET /ws アップグレード。
  2. チャネルストリームを開く:
    • GET /ws?cid=<channel_id>
  3. レベルフィルタを適用:
    • GET /ws?level=error または GET /ws?cid=<channel_id>&level=warn
  4. プライベートチャネルの場合:
    • アップグレード要求に Authorization: Bearer <token> を含める。

HTTP/curl フロー

curl では WebSocket フローを完了できません。wscat のようなクライアントを使ってください:

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

関連ドキュメント