Skip to main content
Unkey Deploy is currently in private beta. To get access, reach out on Discord or email support@unkey.com.
The Logs tab in your project shows runtime output (stdout and stderr) from every deployment. Anything your app prints to the console appears here.

How logs are captured

Unkey captures all stdout and stderr output from your app automatically. There is nothing to install or configure. If your app writes JSON to stdout, Unkey parses the JSON and populates the Attributes column with the structured data. This makes individual fields filterable and easier to scan. Plain text output appears in the Message column as-is.

Log fields

Each log entry includes a timestamp, a severity level (ERROR, WARN, INFO, or DEBUG), the region where the instance is running, and the log message. If the output is structured JSON, Unkey populates an additional Attributes column with the parsed fields.

Filter logs

Use the control bar at the top of the page to narrow results by severity, deployment, environment, message content, and time range. Filters can be combined and are persisted in the URL, so you can bookmark or share a filtered view.
Logs page

Structured logging

To get the most out of the Attributes column, emit structured JSON from your app:
{"level": "info", "message": "payment processed", "amount": 49.99, "currency": "USD", "customer_id": "cus_abc123"}
Unkey parses each key into a separate attribute, making it easier to locate specific entries when scanning a large volume of logs.

Retention

Runtime logs are retained for 90 days.
Last modified on March 30, 2026