App Logs
Stream real-time build and container output logs for a Skytells app — switch between Deployment logs and Runtime logs to debug builds and runtime behavior.
The Logs page streams live output from your app. It has two tabs that cover the full lifecycle of a running service.
Log tabs
Deployment logs
The Deployment tab shows the build pipeline output for a specific deployment. This is where to look when a deployment fails or behaves unexpectedly.
A typical successful deployment log looks like:
Commit: 07cc47df5564944da46aec606760153fce7e0335
Deployment: #2410de39
Build succeeded
Deploying to optimal infrastructure...
✓ Deployment succeeded.
✓ Distributing your app on Skytells's global edge infrastructure...
✓ Your app is live on Skytells's global network.Each deployment log is labeled with its deployment ID (e.g. Deployment 2410de39) and a status badge (Ready, Building, Failed).
Deployment log contents (in order):
- Commit hash — the exact commit being built
- Deployment ID — Skytells's internal identifier for this build
- Install step — output from the install command (e.g.
npm install) - Build step — output from the build command (e.g.
npm run build) - Deploy step — Skytells routing and distribution confirmation
Runtime logs
The Runtime tab streams live stdout and stderr output from the running container. Use this to:
- Debug runtime exceptions and application errors
- Trace request handling, database queries, or background tasks
- Confirm service startup (e.g. "Listening on port 3000")
- Monitor scheduled job execution
Logs are streamed in real time. Older logs are available depending on your plan's log retention window.
Reading the logs
| Color / prefix | Meaning |
|---|---|
| White text | Standard output (stdout) — normal application output |
| Red / error text | Standard error (stderr) — warnings, exceptions, stack traces |
Green ✓ prefix | Skytells platform confirmation step |
| Cyan / colored text | Deployment ID or structured metadata |
Common patterns
Build failure
If Build succeeded never appears and the log ends with a non-zero exit:
- Check the install step for missing dependencies or version mismatches.
- Check the build step for compilation errors — TypeScript errors, missing modules, etc.
- Verify your Build Command and Install Command in Settings → Build.
Container crash loop
If the deployment shows Ready but the app immediately stops:
- Switch to the Runtime tab and look for a startup error or unhandled exception.
- Check that your app listens on the port Skytells expects (see the
PORTenvironment variable). - Check that all required environment variables are present in Environment.
App not responding
If the container is Running but the domain returns errors:
- Check Runtime logs for crash stack traces.
- Check Traffic to see if requests are reaching the app.
- Confirm the app binds to
0.0.0.0:<PORT>and not127.0.0.1.
Related
- Deployments — full deployment history with per-deployment log access.
- Monitoring — CPU and memory metrics alongside logs.
- Settings — Build — adjust the build and install commands.
- Environment — add missing runtime variables.
How is this guide?