Skip to content

Send Vercel logs to Squasher in three steps.

Create a drain URL with one command and paste it into Vercel. Function, edge, and build logs become searchable by field, and a monitor can page you when errors jump.

Free plan. No credit card required.

terminal
squasher log-connectors onboard \  --project <project-id> \  --connector-key vercel \  --display-name "Vercel production"
{  "setup": {    "endpoint": "https://ingest.squasher.ai/v1/drain/vercel/<project-id>?key=sq_pk_…"  },  …}
app.squasher.ai/acme/shop/logs?q=service:shop-web
service:shop-webLive on
  1. 14:06:13.310errorTask timed out after 10.02 seconds
  2. 14:06:13.246errorTypeError: Cannot read properties of undefined (reading 'amount')
  3. 14:06:13.102warnstripe webhook retry 2 of 3
  4. 14:06:12.884infocheckout session created cs_7f13
  5. 14:06:12.401infomiddleware: geo=DE locale=de-DE
  6. 14:05:58.017infoBuild Completed in /vercel/output [42s]

Example project and logs.

Set up the drain in three steps.

You need a Vercel team with drains and a Squasher project. Or paste one prompt into your coding agent and let it run the steps.

  1. Create a Vercel connector

    The CLI returns a drain URL with its own ingest key. The API and the MCP server return the same.

    squasher log-connectors onboard \  --project <project-id> \  --connector-key vercel \  --display-name "Vercel production"
    Vercel drain guide
  2. Add a drain in Vercel

    In Team Settings, open Drains and add a Logs drain. Pick projects, sources, and environments, choose Custom endpoint, and paste the URL. JSON and NDJSON both work.

    Check a payload with the free drain tester
  3. Check that logs arrive

    Vercel tests the endpoint when you save the drain. Then tail your Vercel project by name.

    squasher logs tail --service <vercel-project>
Paste into your coding agent
Install Squasher for this project. If Squasher skills or MCP are not configured in this agent environment, run `bash <(curl -fsSL https://squasher.ai/install.sh) --agents -y`. Then read https://skills.squasher.ai/squasher-onboard/SKILL.md, map every runnable app/service/worker/frontend/agent in the repo, choose the matching Squasher SDK, log drain, OTLP, or Agent SDK path, initialize with SQUASHER_API_KEY and SQUASHER_PROJECT_ID from environment variables, send one real verification event, and report the files changed plus the verification step. Do not hardcode or reveal real API keys.
bash <(curl -fsSL https://squasher.ai/install.sh) --agents -y

What Squasher keeps from each log.

Squasher reads the fields you search and alert on. Each Vercel project becomes a service.

  • JSON arrays and NDJSON are both accepted.
  • Levels keep Vercel's info, warning, error, and fatal.
  • Trace and span IDs are kept, so a log can open its trace.
Check a sample payload
Vercel log fieldSquasher
  • messagemessage
  • levellevelinfo, warning, error, fatal
  • timestamptime
  • projectNameservice
  • deploymentIdsquasher.deployment_id
  • traceId, spanIdtrace ID, span ID
  • path, statusCode, hostNot stored as a field. Not separate fields today
  • requestId, proxy.*Not stored as a field. Not separate fields today

Choose the Vercel sources to send.

Every source you add is billed by Vercel and counted by Squasher. Send the ones that explain failures.

lambda

What Vercel sends
Output from Vercel Functions, such as API routes
Send it when
Always. Application errors show up here.

edge

What Vercel sends
Output from functions on the Edge runtime
Send it when
You run middleware or edge functions.

build

What Vercel sends
Output from the build step
Send it when
You want failed builds next to runtime logs.

static

What Vercel sends
Requests for static assets such as HTML and CSS
Send it when
Rarely. It is high volume with few errors.

external

What Vercel sends
External rewrites to another domain
Send it when
You proxy an API through rewrites.

firewall

What Vercel sends
Requests denied by Vercel Firewall rules
Send it when
You want to see blocked traffic.

redirect

What Vercel sends
Requests sent elsewhere by redirect rules
Send it when
You are debugging redirects.

You pick sources and environments in Vercel's drain settings. Source list from Vercel's Log Drains reference, checked 2026-09-24.

Alert when a Vercel project throws.

A query monitor on your Vercel project's error logs opens an incident when they jump, with no SDK in the app.

  • Watch level:error for one Vercel project, or for all of them.
  • Compare with a 1 to 30 day baseline to ignore normal noise.
  • Add the Next.js SDK for grouped errors with stack traces.
Log search and alerts
app.squasher.ai/acme/shop/monitors/shop-web-error-spike

shop-web error spike

Query monitor
Counts matching logs on a schedule.
Log queryservice:shop-web level:error
ConditionSpike: 3x the 7-day baseline, 15-minute window
CheckEvery 5 minutes

Historical firing previewWould have fired 3 times in the last 100 minutes

Opens an incident, routed toSlack #shop-alertsEmail

Example monitor

Limits to know before you start.

Most limits come from Vercel. The Vercel facts are from its drain docs, checked 2026-09-24.

  • Vercel plan

    Vercel offers drains on its Pro and Enterprise plans, and bills drained data by the GB.

  • Sampling

    Vercel sampling rules and source filters cut volume before it leaves Vercel.

  • Message size

    Vercel cuts a log message over 256 KB and sends batches of up to 5 MB.

  • Trace IDs

    Vercel adds trace and span IDs to function logs when tracing is on. Build logs have none.

  • Failed deliveries

    Vercel emails you and marks the drain as errored when most deliveries in an hour fail.

  • Squasher retention

    Drain data counts toward your plan's telemetry allowance. Logs are kept for 7 days to 30 days, by plan.

Test a drain before you connect it.

The free Vercel log drain tester reads a drain URL and a sample payload in your browser. Nothing is posted to Squasher.

  • Catches a URL that is not HTTPS or not on the Vercel drain path.
  • Checks that a payload parses and carries a message and a time.
  • Warns when a key or token appears in the payload.
Open the drain tester

Vercel log drain tester

https://ingest.squasher.ai/v1/drain/vercel/<project-id>?key=sq_pk_…
  • Drain URLParses, and uses HTTPS
  • Squasher drain path/v1/drain/vercel/<project-id>
  • Payload JSONParses as a log object or an array
  • Log messageEach entry has a message
  • TimestampEach entry has a time
  • Secret redactionNo keys or tokens in the payload

Example run. The tool checks in your browser.

Questions, answered.

What is a Vercel log drain?

A Vercel log drain sends your deployments' logs to an HTTPS endpoint in batches as they happen. Squasher gives you that endpoint, so Vercel logs land next to your other logs and traces.

Which Vercel plans support log drains?

Vercel offers drains on its Pro and Enterprise plans, so Hobby teams upgrade first. Vercel also bills drained data by the GB. This is from Vercel's drain docs, checked 2026-09-24.

How do I get the drain URL?

Run squasher log-connectors onboard with --connector-key vercel, call the Log Connectors API, or ask your coding agent to do it over MCP. The response has the drain URL with an ingest key for that connector only, and you can rotate the key later.

Which Vercel log fields does Squasher keep?

Every line the drain sends is stored. Squasher reads the message, level, time, Vercel project name, deployment ID, and trace and span IDs. Path, status code, and proxy fields are not stored as separate fields today.

Do I still need the Next.js SDK?

For grouped errors with stack traces, releases, and users, yes. The drain gives you platform and console logs with no code change, and the SDK captures exceptions from inside your app. Both can send to the same project.

Can a Vercel log link to its trace?

Yes, when Vercel tracing is on. Vercel adds traceId and spanId to function logs, and Squasher keeps both. When the same trace reaches Squasher over OpenTelemetry, the log opens its trace waterfall.

How do I keep preview logs out of production alerts?

Send only production in the drain settings. If you want preview logs too, create a second connector and drain for them, then filter by connector in Logs and in your monitor's query.

What does the free Vercel log drain tester do?

It checks a drain URL and a sample payload in your browser and sends nothing. Use it to catch a wrong path, a missing field, or a secret in a payload before you connect the drain.

Priced by volume, never by seat.

Start free. Invite the whole team. AI triage is included on every plan.

Compare every plan

Free

For side projects, evals, and internal tools.

$0/ month

No card needed. No overage charges.

Start free
10 GB telemetry
5K replays
500 AI credits

Included

  • AI triage on new issues
  • 500 AI credits / month (an investigation uses 50)
  • 1 project

Pro

For small production apps that want one tool, not five.

$29/ month

Flat price. No per-seat fees.

Start on Pro
100 GB telemetry
10K replays
3K AI credits

Everything in Free, plus

  • 3,000 AI credits / month (an investigation uses 50)
  • 5 projects
  • 30 monitors with 30-second checks

Team

Most Popular

For product teams replacing separate error, replay, and status tools.

$99/ month

Flat price. No per-seat fees.

Start on Team
250 GB telemetry
40K replays
12K AI credits

Everything in Pro, plus

  • 12,000 AI credits / month (an investigation uses 50)
  • Unlimited projects
  • 25 status pages

Scale

For high-volume teams with security, procurement, and support needs.

$299/ month

Flat price. No per-seat fees.

Start on Scale
1 TB telemetry
150K replays
30K AI credits

Everything in Team, plus

  • 30,000 AI credits / month (an investigation uses 50)
  • 100 status pages
  • 250 monitors with 30-second checks

Need more volume, a security review, or custom terms? Get in touch.

Go squash some bugs.

Connect one service and send one real event. The crew takes it from there.

Free plan. No credit card required.