关于 devvit-logs
devvit-logs 是用于调试已安装 Devvit 应用的技能,可调用 `devvit logs` 捕获日志,并在首批输出出现或 5 秒后自动结束,避免持续等待。适合需要快速查看指定 subreddit 中应用日志的开发者。
主要功能
- 01运行 `devvit logs` 捕获日志
- 02要求提供目标 subreddit
- 03可选指定应用名称和历史时间范围
- 04首批输出后或 5 秒后自动退出
- 05以 JSON 格式返回捕获结果
适用场景
- 01快速检查 subreddit 中已安装应用的运行日志
- 02按指定时间范围查看历史日志
- 03避免日志流命令持续挂起
- 04在无日志时根据提示触发应用活动或重试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ reddit/ devvit-skills --skill devvit-logs安装后在 Claude Code 中输入/devvit-logs确认已加载。
附带文件scripts/devvit-logs.cjs
详细介绍
Devvit 日志
从已安装的 Devvit 应用流式传输日志事件,以便快速调试。此技能封装了 devvit logs,并在短暂等待(5 秒)后自动退出,避免流式命令一直运行。
工作原理
- 询问用户目标 subreddit(必填)。
- 可选接受应用名称和
--since=...标志。 - 运行
devvit logs并捕获输出。 - 在收到第一批输出后或 5 秒后(以先发生者为准)自动退出。
用法
node ./scripts/devvit-logs.cjs <subreddit> [app-name] [--since=1h]
脚本路径相对于此技能所在目录。
参数:
subreddit- 必填。要从中流式传输日志的 subreddit。app-name- 可选。如果要从其他文件夹流式传输日志,则填写应用名称。--since=Xd- 可选。历史日志时间范围(例如:--since=30m、--since=1d)。
示例:
node ./scripts/devvit-logs.cjs my-subreddit
node ./scripts/devvit-logs.cjs my-subreddit my-app --since=1h
输出
{
"ok": true,
"reason": "timeout",
"exitCode": null,
"signal": null,
"stdout": "=============================== streaming logs for my-app on my-subreddit ================================\n[DEBUG] Dec 8 15:55:23 Action called!",
"stderr": ""
}
向用户展示结果
- 如果用户未提供 subreddit,请明确询问。
- 总结捕获到的日志(如有),并说明 5 秒的捕获窗口。
- 如果没有捕获到日志,请说明这一点,并建议在有活动时重试或使用
--since=...。
故障排查
- 未找到 Devvit CLI:安装
devvit,或确保devvit位于 PATH 中。 - 尚未登录:运行
devvit login并重试。 - 没有日志:在应用中触发一个操作,或使用
--since=...。 - 权限错误:确认应用已安装在该 subreddit 中,并且你有访问权限。
评论
支持 Markdown