`cf workers tail`: no replacement for `wrangler tail`
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 65/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start with the hand-written registry entry for cf tunnels tail and read usecases/tail-live-worker.yaml and usecases/tail-filtered-worker.yaml to understand the existing gap. Implement the cf workers tail <worker> workflow around tail-session creation and WebSocket consumption; done means unfiltered events stream as JSON by default and replace the basic wrangler tail workflow.
Written by the indexing model from the issue text.
Description
Problem
There is no cf command that streams a Worker's live logs, so a project that
has otherwise moved off Wrangler still has to keep Wrangler installed and
documented for wrangler tail. usecases/tail-live-worker.yaml and
usecases/tail-filtered-worker.yaml already record this as a gap: tail-session
operations are SDK-only, and there is no stream consumer.
Watching a deployed Worker's logs as requests arrive is a basic part of running
one, and it is the last Wrangler-only step in our migration. The dashboard's log
view answers "what happened recently", not "what is happening right now, for the
request I just made".
Expected
A hand-written cf workers tail <worker> that creates a tail session, consumes
the WebSocket, and prints events as JSON by default, matching cf's JSON-first
output. Filters (--status, --method, --search, --ip, --sampling-rate)
would be welcome but are not the blocker; plain unfiltered streaming already
replaces the workflow, since jq can do the rest.
cf tunnels tail is the precedent for a streaming leaf living in the
hand-written registry, so the shape seems to exist already.
Environment
[email protected], @cloudflare/[email protected], [email protected].
- Dominant language
- TypeScript
- Stars
- 853
- Forks
- 42
- Avg merge
- 17h 57m
- Merged PRs (30d)
- 146
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cloudflare/cf
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cloudflare/cf#344 ·
Maintainers usually reply within 1 day
-
upstream
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
cloudflare/cf#262 ·
Maintainers usually reply within 1 day
-
`cf dev` rejects `--port` and `--host` for Vite projects, including the `cf init` templatePossibly taken @jamesopstad claimed this 5 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
cloudflare/cf#223 · 2 assignees ·
Maintainers usually reply within 1 day
-
upstream
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
cloudflare/cf#179 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 58/100
cloudflare/cf#347 ·
Maintainers usually reply within 1 day
Similar issues
-
freshness freshness:observed-only
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
thoroc/context-radar#280 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
-
documentation story
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
bug category:billing priority:p3 track:fast
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
LanternOps/breeze#9223 ·
Maintainers usually reply within 1 day