---
title: Runtime Logs
description: Stream and search the output of your running application.
order: 1
---

Runtime logs are the output your application writes while it runs. Atlasflow captures everything your container sends to standard output and standard error and makes it available on the deployment.

## Where to find them

Open a [deployment](/docs/concepts/deployments.md) and select its runtime logs. Logs from a running deployment stream in as your app produces them.

## Writing logs

Write logs to **stdout** and **stderr** from your application. There's no agent to install and no special format required: anything your process prints is captured.

```javascript
// Node.js
console.log("request handled", { path: "/", status: 200 });
console.error("failed to reach upstream");
```

Each captured line records its text, a severity level, and a timestamp.

## Searching and paging

Runtime logs support search so you can filter to the lines you care about, and they're paginated so you can move back through history within your plan's [retention window](/docs/observability.md).

## Logging tips

- Log in a structured, greppable way (consistent keys and prefixes) so search is effective.
- Don't log secret values. Treat logs as readable by anyone with access to the workspace.
- Use stderr for errors so severity is captured correctly.

## Next steps

- [Build logs](/docs/observability/build-logs.md): logs from the build step.
- [Metrics](/docs/observability/metrics.md): CPU and memory usage.
- [Troubleshooting](/docs/resources/troubleshooting.md): debug an unhealthy deployment.