Apps

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):

  1. Commit hash — the exact commit being built
  2. Deployment ID — Skytells's internal identifier for this build
  3. Install step — output from the install command (e.g. npm install)
  4. Build step — output from the build command (e.g. npm run build)
  5. 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 / prefixMeaning
White textStandard output (stdout) — normal application output
Red / error textStandard error (stderr) — warnings, exceptions, stack traces
Green prefixSkytells platform confirmation step
Cyan / colored textDeployment ID or structured metadata

Common patterns

Build failure

If Build succeeded never appears and the log ends with a non-zero exit:

  1. Check the install step for missing dependencies or version mismatches.
  2. Check the build step for compilation errors — TypeScript errors, missing modules, etc.
  3. Verify your Build Command and Install Command in Settings → Build.

Container crash loop

If the deployment shows Ready but the app immediately stops:

  1. Switch to the Runtime tab and look for a startup error or unhandled exception.
  2. Check that your app listens on the port Skytells expects (see the PORT environment variable).
  3. Check that all required environment variables are present in Environment.

App not responding

If the container is Running but the domain returns errors:

  1. Check Runtime logs for crash stack traces.
  2. Check Traffic to see if requests are reaching the app.
  3. Confirm the app binds to 0.0.0.0:<PORT> and not 127.0.0.1.

How is this guide?

On this page