Files
WechatOnCloud/panel
T
Gloridust 2e201ff058 feat(panel): 持久化实例日志,跨容器重建保留
实例容器日志随重建(重启/升级/看门狗自愈)即丢失,用户看不到"上次为何
重启/崩溃"(浏览器实例常因内存触顶被看门狗重启)。现把生命周期事件 + 重启
原因 + 重建前的容器日志快照,追加到面板数据卷 /data/logs/<id>.log,跨重建保留。

- docker.ts: appendInstanceLog/readInstanceLog/snapshotContainerLog/deleteInstanceLog;
  日志目录与 accounts.json 同卷(宿主 ./data-panel 持久化),单实例上限 ~400KB
  超限截半保留最近;id 十六进制校验防路径注入。
- runInstance 删旧容器前先快照其最后日志、启动后记"容器已启动";
  stopInstance 记"容器已停止";removeInstance 彻底删除时清理日志文件。
- 看门狗 recover() 写入自愈原因(hard/soft/health + 内存明细)。
- 日志接口返回「持久化历史 + 本次容器实时日志」两段。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2e201ff058 · 2026-06-14 21:53:11 +08:00
History
..
2026-05-29 22:00:23 +08:00