Devvit Logs 是一个用于流式查看已安装 Devvit 应用日志的技能,旨在帮助开发者快速调试。它封装了 devvit logs 命令,并在短暂窗口(5 秒)后自动退出,避免流式命令挂起。
用途: 该技能主要用于从已安装的 Devvit 应用流式获取日志事件,以便快速调试。触发短语包括 "devvit logs"、"stream logs"、"check logs"、"show logs"。
主要能力:
- 向用户询问目标 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 在 PATH 中。
- 未登录:运行 devvit login 并重试。
- 无日志:在应用中触发一个操作或使用 --since=...。
- 权限错误:确认应用已安装在 subreddit 中并且你有访问权限。
适用场景: 适用于需要快速检查 Devvit 应用运行日志、排查问题的开发者。
限制:
- 需要用户提供目标 subreddit。
- 自动退出窗口为 5 秒,可能无法捕获所有日志。
- 需要 Devvit CLI 已安装并登录。
- 需要应用已安装在目标 subreddit 中且有访问权限。