日志
日志页用于查看当前应用运行时容器的实时输出。它适合排查函数执行、环境变量刷新、依赖加载、LSP 连接和运行时异常。

日志来源
Hyac 的实时日志来自应用运行时容器的 stdout/stderr。容器名通常为:
hyac-app-runtime-<app_id小写>
这意味着日志页看到的是函数真实执行进程输出,而不是单纯的前端缓存。
页面结构
日志页包含:
- 函数筛选:可以查看所有函数,也可以只看某个函数。
- 连接状态:显示实时日志连接是否正常。
- 日志行数:显示当前保留的日志数量。
- 搜索框:用于在当前日志内容中查找关键字。
- 操作按钮:用于刷新、暂停、清空或控制实时日志显示。
函数中输出日志
函数内推荐使用 ctx.cloud.logger() 输出日志。旧入口 ctx.logger 仍保持兼容:
async def handler(ctx, request):
logger = ctx.cloud.logger()
logger.info("start handling request")
return {"ok": True}
也可以使用标准输出。实时日志会从 Docker runtime 输出流中读取。
和函数管理页日志的关系
函数管理页中的日志面板更适合边写代码边测试;独立日志页更适合持续观察整个应用。
如果只排查某个函数,建议在日志页选择该函数或在函数管理页查看对应日志。
容器侧排查
当日志页无法连接或没有输出时,可以直接查看容器:
docker logs -f hyac-app-runtime-<app_id小写>
开发环境中,也可以查看 Server 和 LSP sidecar:
docker logs -f hyac_server
docker logs -f hyac_lsp_sidecar
常见问题
日志页显示实时连接,但没有新日志
确认函数是否真的被调用。实时日志只会显示运行时容器产生的新输出。
日志里出现大量环境变量变更
这通常表示应用配置发生了更新,运行时监听到了 MongoDB Change Stream 事件。只要函数执行正常,一般不需要处理。
函数报错但页面响应仍是 200
Hyac 的业务错误可能以 JSON 响应返回。排查时同时查看函数响应体和日志堆栈。