JL
ZH-CN
文档首页
菜单
指南

通过 WebSocket 流式读取日志

在 /ws 上订阅公共或按频道范围的实时流。

guide jsonlog

通过 WebSocket 流式读取日志

目的:通过 WebSocket 订阅消费实时日志。

前置条件

  • JsonLog 服务可达。
  • WebSocket 客户端支持查询参数和认证头。
  • 对私有频道,需提供频道所属账户的有效 Bearer 令牌。

API/脚本流程

  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

相关文档