If you’re building on Vercel, you’ve probably used the vercel logs command or the built-in dashboard to debug your apps. While these tools are useful, they can quickly feel limited when you need deeper insights, real-time context, or pattern recognition across streams of logs.
That’s where Gonzo, our open source terminal UI (TUI) for logs, comes in. By combining the Vercel CLI with Gonzo, you can instantly stream, filter, and analyze logs in real time-right from your terminal. This blog will show you how.
Why Stream Vercel Logs into Gonzo?
Here are some scenarios where developers can benefit from using Gonzo with vercel logs:
- Real-time debugging: Spot issues as they happen across multiple services.
- Pattern recognition: Gonzo can extract recurring patterns, making it easier to identify noisy vs. novel events.
- AI assist (optional): Gonzo’s AI integration can summarize or highlight anomalies without you digging through endless JSON lines.
- Cost-efficient visibility: Unlike log drains (which can introduce additional cost), combining
vercel logsand Gonzo uses the CLI directly-currently free on Hobby and Pro tiers.
Gonzo provides a developer-first, keyboard-driven interface for faster iteration and richer log exploration without having to leave the terminal.

A Quick Primer on vercel logs
The vercel logs command lets you fetch logs from your deployments directly in the CLI. With the -j flag, logs are output in JSON format-perfect for piping into external tools like Gonzo.
There’s an important detail though: Vercel’s JSON wraps your actual app logs inside a double-encoded message field with a [function-name] prefix (derived from the API route name, e.g. [orders] for /api/orders). A jq normalizer unwraps this and merges the Vercel metadata into a clean, flat log line that Gonzo can fully parse.
When you specify a deployment URL, Vercel auto-follows (streams in real time) by default-no extra flags needed.
This flexibility makes the CLI a great starting point if you want to:
- Integrate Vercel logs into your existing terminal workflow.
- Avoid the friction of switching back and forth between dashboards.
- Test log pipelines without configuring external drains or third-party services.
Setting Up Gonzo with Vercel Logs
Follow these steps to connect Gonzo and the Vercel CLI:
- Install Gonzo
brew install gonzo– or grab the latest release from Gonzo GitHub. - Install the Vercel CLI (if you haven’t already)
npm i -g vercel - Install jq (if you haven’t already)
brew install jq– or download from stedolan.github.io/jq. - Run logs through Gonzo Use the
-joption to stream Vercel logs as JSON, normalize the double-encoded message field with jq, and pipe into Gonzo:
vercel logs <deployment_url_or_id> -j | jq --unbuffered '
(.message | sub("^\\[.*?\\] "; "") | fromjson) + {source, requestPath, domain, requestMethod, responseStatusCode}
' | gonzoThe jq normalizer strips the [function-name] prefix, parses the inner JSON, and merges it with the Vercel envelope metadata – so Gonzo sees a flat, clean log line with all your app-level fields (level, service, msg, reqId) alongside Vercel metadata (source, requestPath, domain, requestMethod, responseStatusCode).
⚠️
--unbufferedon jq is mandatory. Without it, jq buffers output and the pipe appears to stall. This is the #1 setup issue.
Summary
Vercel makes deployment logs easily accessible, but pairing vercel logs with Gonzo unlocks a richer, more interactive log experience. You get real-time streaming, structured formatting, pattern extraction, and optional AI-powered analysis-all in your terminal, without extra cost or setup.
If you’re a Vercel developer looking to go beyond the basics of Vercel logging, try out Gonzo today and see your logs in a new light.
For the complete setup reference including troubleshooting, see the Vercel Usage Guide.
Table of Contents
Surface Unknown Unknowns Automatically
Catch emergent patterns from AI-generated code in staging—before they become production incidents.
Learn About Dstl8press@controltheory.com
Back

