> logs & debug
When a deployed Worker misbehaves, `wrangler tail` streams its live requests and console output straight from Cloudflare's edge, and `wrangler deployments` tells you which version is actually serving traffic. These are your first stop for debugging production without redeploying or guessing. Filter aggressively — the raw stream is a firehose.
// logs & debug
6 commands$ wrangler tail$ wrangler tail my-worker --status error$ wrangler tail -e production$ wrangler tail --status error --method POST --search "checkout"$ wrangler tail --format json | jq 'select(.outcome=="exception")'$ wrangler deployments status// faq
Why does `wrangler tail` show no logs?
Tail only streams the deployed Worker, so you see nothing until a real request hits the live edge. If you use environments, the prod script is named `<name>-<env>`, so you must pass `-e <env>` to tail the right one — tailing the bare name gives silence.
Can I tail my local `wrangler dev` server?
No. Local requests print directly in the `wrangler dev` terminal; `tail` is for deployed Workers only. Use the dev console for local debugging and `tail` for production.
How do I stop tail from flooding on a busy Worker?
Add `--sampling-rate` (a value from 0 to 1) and stack filters like `--status error`, `--method`, or `--search`. Tail is rate-limited and will disconnect if the Worker sustains a very high request rate.