跳到主要内容

日志端点

使用这些端点来获取 SkillFlaw 服务与流程运行日志。

启用日志读取

/logs/logs-stream 只有在启用了内存日志缓冲区时才可用。

请在 .env 中设置一个正数的 SKILLFLAW_LOG_RETRIEVER_BUFFER_SIZE,并可结合 SKILLFLAW_LOG_LEVEL 控制日志级别:


_10
SKILLFLAW_LOG_RETRIEVER_BUFFER_SIZE=10000
_10
SKILLFLAW_LOG_LEVEL=DEBUG

如果 SKILLFLAW_LOG_RETRIEVER_BUFFER_SIZE0 或未设置,这两个端点会返回 501 Not Implemented,并提示 Log retrieval is disabled

实时流式日志

通过 SSE 实时读取日志:


_10
curl -X GET \
_10
"$SKILLFLAW_URL/logs-stream" \
_10
-H "accept: text/event-stream" \
_10
-H "x-api-key: $SKILLFLAW_API_KEY"

在没有新日志时,服务会输出 keepalive 帧保持连接。

带参数拉取日志

GET /logs 支持以下查询参数:

  • lines_before:读取给定时间戳之前的若干行
  • lines_after:读取给定时间戳之后的若干行
  • timestamp:起始时间戳

它们默认值都是 0。 在全部为默认值时,端点会返回最后 10 行日志。


_10
curl -X GET \
_10
"$SKILLFLAW_URL/logs?lines_before=0&lines_after=0&timestamp=0" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $SKILLFLAW_API_KEY"

参数行为

  • 如果 timestamp <= 0 且两个计数器都为 0,返回最后 10 行日志
  • 如果 lines_before > 0,返回指定时间戳之前的日志
  • 如果 lines_after > 0,必须同时提供有效 timestamp
  • 不能在同一请求中同时请求 lines_before > 0lines_after > 0

所有日志端点都要求认证,因为日志中可能包含运行时细节与敏感上下文。