# Logs

Every [service](/docs/apps/apps-and-services) in an app produces a live log stream you can view in the console. Koo captures everything your service writes to standard output and standard error — no agent or logging library required.

## View logs in the console

1. 
2. 
3.

Logs are per service: a web service, a [Postgres](/docs/data/postgres) service, and a [Redis](/docs/data/redis) service each have their own stream. Switch services to switch streams.

Logs are fetched live from Koo's hosting layer each time you open the tab; Koo does not warehouse them. You can also stream a service's logs programmatically through the [observability API](/api/observability), authenticated with an [API token](/docs/developers/api-tokens).

## Retention by plan

How far back you can scroll depends on your plan. Retention windows for Free, Plus, and Pro are listed in the plan comparison on the [free tier](/docs/get-started/free-tier) page and on your account's [billing](/docs/account/billing) page.

> **Note:**
>
> Logs older than your plan's retention window are gone — there is no archive to restore from. If you need logs long-term, forward them to your own log store from inside your service.

## Build logs vs runtime logs

Everything on this page describes **runtime logs**: output from your running service. A [container deploy](/docs/apps/deploy-a-container) brings a prebuilt image, so it has no build step and no build logs.

**Build logs** come with [deploys from Git](/docs/apps/deploy-from-git): each build's output lands on its deployment in the deploy timeline, separate from the service's runtime stream. See [Builds](/docs/apps/builds).

## Tips

- 
- 
- 
-
