Skip to main content

View and stream Cloider app logs

An app's logs are everything its running container prints to standard output and standard error: requests your framework logs, console.log and print calls, warnings and stack traces. Cloider streams them live from the app's container to the dashboard's Logs tab, to cloider app logs, to the REST API and to AI agents. This page shows each way to read them and explains what the stream keeps and what it doesn't. A cron job's logs are its runs' instead, on the Runs tab.

At a glance​

WhatThe stdout and stderr of the app's running container
HistoryThe last 100, 200 (default), 500 or 1000 lines the current container printed
LiveNew lines arrive as the app prints them, for up to 60 minutes per stream
KeptNot stored by Cloider: logs live in the container, so a restart or a new deploy starts a fresh log
Build outputSeparate, on the Builds tab. See Builds and deployments
Not availableWhile the app is paused, or before its first version deploys
The Logs tab of the blog app with a Live badge, streaming HTTP request lines from an Express server
The Logs tab follows the app's output as it is printed.

Read the logs​

  1. Open the app and go to the Logs tab.
  2. The tab shows Connecting to the app..., then the latest lines, and keeps following with a Live badge.
  3. Pick how much history to load with Lines (100, 200, 500 or 1000). Changing it opens a new stream.
  4. Scroll up to read without being pulled back down; scroll to the bottom to follow again.

When the stream ends (after 60 minutes, or if the connection can't be restored), the tab says This stream has ended. Reconnect to keep following the app. Click Reconnect.

The stream is open only while the Logs tab is on screen. Colored output (ANSI escape codes) is shown in color.

What do the logs contain?​

  • Everything the app's process writes to stdout and stderr, in order. Write your logs there rather than to files inside the container: files aren't streamed and are lost with the container.
  • Only the app's current container. During a rollout the stream moves to the new version's container once it is running.
  • Lines your app prints while starting, including crash output. If the container restarts, the stream picks up the new one, and prints --- waiting for a pod --- while there is no container to read.

They don't contain the build output (see the Builds tab), nor requests that never reached your app.

How long are app logs kept?​

Cloider doesn't store app logs. The stream reads them from the running container, so:

  • A restart (saving environment variables, a crash) or a new deploy starts with an empty log.
  • History is limited to what the container still holds, up to the 1000 lines you can ask for.

To keep logs, send them from your app to a logging service of your choice, or write them to an object storage bucket.

Why does the Logs tab say nothing was printed?​

What you seeMeaning
Nothing printed yet.The stream is open and the app hasn't printed anything since its container started
Nothing was printed.The stream ended without output
This app has not deployed a version yet.No version is running yet. Check the Builds tab
The logs could not be read, try again!The stream couldn't be opened. Reconnect in a moment
No Logs tabThe app is paused. Resume it to see logs

Some runtimes buffer output when it isn't a terminal. If lines arrive late or in bursts, turn buffering off: for Python set the environment variable PYTHONUNBUFFERED=1; in other languages flush after writing, or log to stderr.

Next steps​

Frequently asked questions

How do I see my Cloider app's logs?

Open the app's Logs tab in the dashboard, or run cloider app logs <app> for the last 200 lines and cloider app logs <app> -f to follow new lines. The logs are the app container's stdout and stderr.

Does Cloider keep app logs?

No. Logs are streamed from the running container and are not stored, so a restart or a new deploy starts an empty log. Send logs to an external service if you need to keep them.

How many log lines can I see?

100, 200, 500 or 1000 lines of history, chosen with the Lines picker or cloider app logs -n. Following then shows new lines as they arrive, for up to 60 minutes per stream.

Where is the build output?

On the Builds tab: click Logs on a build, or run cloider app build logs <app>. The Logs tab only shows the running app.

Why are my Python logs delayed?

Python buffers stdout when it isn't a terminal. Set the environment variable PYTHONUNBUFFERED=1 on the app, or flush after printing, and lines appear as they are written.