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

通过 HTTP 发送日志

使用 POST /log 摄取日志,并验证其可立即在内存中读取。

guide jsonlog

通过 HTTP 发送日志

目的:通过 HTTP 摄取日志,并验证可立即用于读取/流式消费。

前置条件

  • JsonLog 服务可达。
  • 对私有频道,需准备 acc 匹配的 Bearer 令牌。
  • POST /log 始终发送 JSON 请求体(最少 {})。

API/脚本流程

  1. 发送公共事件:
    • 使用 JSON 载荷调用 POST /log
  2. 发送频道事件:
    • 使用 JSON 载荷调用 POST /log?cid=<channel_id>
  3. 读取缓冲日志:
    • 公共日志: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

相关文档