Overview
Every Canvas deploy produces a detailed build log — from downloading your bundle through validation, asset upload, and completion. Logs stream in real time via Server-Sent Events (SSE) and persist in the deploy record for later review.Streaming logs
Subscribe to live build output during a deploy:text/event-stream). Each event contains a JSON log entry:
Consuming in JavaScript
Use
fetch + ReadableStream instead of EventSource — fetch supports Authorization headers, while EventSource does not.Reconnecting mid-deploy
If you disconnect and reconnect, the SSE endpoint replays all previously emitted log lines (from MongoDB) before switching to live streaming. No log lines are lost on reconnect.Log lifecycle
| Deploy stage | Log lines emitted |
|---|---|
queued | None yet |
building | Real-time build progress (download, extract, validate, upload) |
complete | All lines + “Deploy complete!” |
failed | All lines + “Deploy failed: ” |
complete or failed), the full log is persisted in the deploy record and can be retrieved at any time.
Git deploy logs
Deploys triggered via GitHub push include additional log lines from the build process:npm ci and npm run build output is streamed line-by-line, so you see the same output you’d see locally.

