Check your Vercel log drain before production.
Paste the drain URL and one redacted log entry. The tester checks the URL, the JSON shape, the fields you need, and secrets you forgot to remove.
Free plan. No credit card required.
Vercel log drain tester
In your browserOne entry, a JSON array, or NDJSON lines, as Vercel delivers them. Results update as you type.
| Result | Check |
|---|---|
| Pass | Drain URLParsed https://ingest.squasher.ai/v1/drain/vercel/your-project-id. |
| Pass | Squasher drain pathThe URL uses the Squasher Vercel drain path. |
| Pass | Payload JSONParsed a batch payload. |
| Pass | Log messageA message-like field is present. |
| Pass | TimestampA timestamp-like field is present. |
| Pass | Delivery contextSource and environment context are present. |
| Pass | Secret redactionNo obvious token or connector key string was detected. |
The tester runs locally and does not post to the drain URL. Redact project keys, tokens, and customer data before pasting payload samples.
Seven checks for a drain and its logs.
The first two read the URL; the rest read the sample. A warning means the drain works but the sample is thin or unsafe.
Drain URL
- Passes when
- An https URL.
- Flags
- Fail
- Usual cause
- An http:// URL, or a URL with no scheme.
Squasher drain path
- Passes when
- The path contains /v1/drain/vercel/.
- Flags
- Warn
- Usual cause
- The OTLP /v1/logs URL or the generic /v1/ingest URL used for a Vercel log drain.
Payload JSON
- Passes when
- One log object, a JSON array of them, or NDJSON lines.
- Flags
- Fail
- Usual cause
- A copy cut off mid-object, or a pretty-printed object mixed with NDJSON lines.
Log message
- Passes when
- message, msg, text, or line is present.
- Flags
- Warn
- Usual cause
- Vercel's message field is optional, so some request logs arrive without one.
Timestamp
- Passes when
- timestamp, time, ts, or date is present.
- Flags
- Warn
- Usual cause
- A sample trimmed by hand. Vercel always sends timestamp.
Delivery context
- Passes when
- A source field (source, type, level, projectId, or deploymentId) and an environment field.
- Flags
- Warn
- Usual cause
- Build logs carry no environment, and Vercel marks environment as optional.
Secret redaction
- Passes when
- No token, secret, password, bearer, authorization, sq_pk_, or x-squasher-key text.
- Flags
- Warn
- Usual cause
- A copied request with its headers, or a message that logs a credential.
Know the drain is still delivering.
A managed Vercel connector has its own ingest key, and Squasher records each delivery it accepts or rejects.
- squasher log-connectors onboard returns the drain URL, key included.
- Each accepted delivery updates last_ingested_at. A rejection records its status code.
- Error and fatal entries become errors. The rest stay searchable in Logs.
- Deployment and trace IDs are kept, so a log line opens its trace.
squasher log-connectors get 5b2e0c1d-8f4a-4e7b-9c2d-1a6f3e8b7d90{ "connector_key": "vercel_drain", "display_name": "Vercel production", "enabled": true, "last_error_at": "2026-09-23T22:41:07.118Z", "last_error_message": "collector rejected request with 401", "last_ingested_at": "2026-09-24T14:06:13.402Z", "status": "active", …}
Example connector after a fixed 401.
Questions, answered.
What is a Vercel log drain?
A Vercel setting that forwards your deployments' runtime, build, and static logs to an HTTPS endpoint, in batches. Vercel offers drains on its Pro and Enterprise plans (checked 2026-09-24).
Which URL do I use for a Squasher log drain?
https://ingest.squasher.ai/v1/drain/vercel/ followed by your project ID. The command squasher log-connectors onboard --connector-key vercel creates a dedicated key and returns the full URL with the key in it.
What format does a Vercel log drain send?
JSON, an array of log objects, or NDJSON, one object per line, depending on the drain setting. Request logs include a nested proxy object with the method, path, and status code. Squasher and this tester accept both formats.
Which Vercel log fields does Squasher use?
message, level, timestamp, deploymentId, projectName, traceId, and spanId. Entries at level error or fatal become errors; the rest stay searchable as logs.
Why should I redact the sample?
Log samples can hold request paths, user IDs, and credentials that your code logged. The tester flags common token words, but it cannot find everything, so remove customer data yourself.
Does the tester post to my drain?
No. It checks the URL and the sample in your browser and sends nothing. The tool is also left out of this site's session replay, so what you paste is not recorded.
Keep exploring.
Drain Vercel into Squasher.
One URL from the CLI, one drain in Vercel, and every function error lands next to its logs.
Free plan. No credit card required.


