通过 HTTP 发送日志
目的:通过 HTTP 摄取日志,并验证可立即用于读取/流式消费。
前置条件
- JsonLog 服务可达。
- 对私有频道,需准备
acc匹配的 Bearer 令牌。 - 对
POST /log始终发送 JSON 请求体(最少{})。
API/脚本流程
- 发送公共事件:
- 使用 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。