dply keeps several kinds of logs for each app. Build and deploy logs tell you why a deploy failed. Request logs show what visitors asked for and how your app answered. Container and queue worker logs show what your own code printed while it ran. This page covers where each one lives and how long it is kept.
| Log | What it contains | Where to find it |
|---|---|---|
| Build & deploy | Clone, install, build, and publish output for each deploy | Build & deploy logs |
| Requests | One row per visitor request: method, path, status, timing, cache, country | Traffic & analytics → Live requests, dply-edge logs, the API |
| Container | stdout and stderr from a container app, its queue workers and the router in front |
Build & deploy logs → What your app is printing |
| Queue workers | Job and worker lifecycle output | Overview → Queue workers → Logs |
Build & deploy logs
In your app, open Build & deploy logs in the Ship group of the sidebar. The page opens with one sentence about your latest deploys, for example "The last deploy, 3f2a91c, built in 1m 42s and went live 2 hours ago." It says so when that deploy or the one before it failed. For container apps, it also counts the errors your app logged in the last 15 minutes.
Under Recent deploys, each deploy is a row, such as "3f2a91c is live · Fix header spacing" or "8bd04e2 failed", with the first line of the failure reason. Click a row to open its build log in a dialog. See every deploy opens the Deploys page.
A log usually covers:
- Cloning the repository
- Installing dependencies (for example
npm ciorpnpm install) - Your build command
- Publishing the output to the edge
In the dialog, type in Find in log to show only matching lines. Download saves the log as a text file. While a deploy is building, the page and the open dialog refresh every five seconds so you can watch it progress. The Full log link in the deploy bar at the bottom of the page opens this dialog for a running deploy.
When a build fails
A failed deploy's dialog shows its failure reason above the log, and Jump to error scrolls to the first failing line. If the failure came from checking your dply.yaml, dply points at the problem in the file.
- Read the error in the log.
- Fix the cause in your repository, in Environment, or in Build (for example the build command or output directory).
- Deploy again from Deploys.
See Troubleshooting builds for common failures.
What your app is printing
Container apps also show What your app is printing on this page. One row counts the errors in the last 15 minutes and quotes the most recent one. Another opens everything the app, its queue workers and the router in front printed in that time. In the dialog, switch between Everything and Errors, filter by source (App, Queue workers or Routing) and by worker, search, or choose Refresh.
Note
Build logs show build output only. Requests visitors made are in request logs, under Traffic & analytics.
Request logs
Request logs record each request that reaches your app's hostnames: time, method, path, status code, response time, bytes served, cache status, and visitor country.
To read them:
- Dashboard: open Traffic & analytics and scroll to Live requests. Filter by method, status, or path, and choose CSV to download the log. See Traffic & analytics.
- CLI: run
dply-edge logsin a linked project to follow requests in your terminal. See CLI. - API:
GET /api/v1/edge/sites/{site}/logsreturns requests newer than asincetimestamp, up to 500 per call. See API reference.
Warning
Request logs are kept for a short window and are not an archive. Download the CSV if you need to keep a record of an incident.
Container logs
For a container app, open Build & deploy logs and use the rows under What your app is printing (see above).
Your container must write to stdout or stderr. Logs appear after the deploy that enables them. See Container apps.
Queue worker logs
For an app with queue workers, open Overview, select Queue workers, and choose Logs. The panel shows the last hour of worker output, newest first: each job as it runs and finishes, and each worker starting, restarting, and stopping. Output reaches the panel about a minute after it happens. Choose Refresh to reload.
See Queue workers.
Logs and the activity log
Logs describe your app's behavior. The record of who changed what in dply (settings, domains, members, and so on) is separate. See Activity log.