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
Send logs from your logger, OpenTelemetry, or a platform drain. Search them by field, see new patterns, and page someone when a query crosses a line.
Free plan. No credit card required.
Signal
Services
Environments
Sources
| Timestamp | Message |
|---|---|
| 14:06:13.251 | infoPOST /api/checkout 500 2.31s |
| 14:06:13.246 | errorTypeError: Cannot read properties of undefined (reading 'amount') |
| 14:06:13.240 | warnprice pending at render |
| 14:06:13.050 | warnprice cache miss, loading from db |
| 14:06:12.990 | infoorder 7f13 received, currency EUR |
| 14:06:12.730 | infoGET /api/cart 200 84ms |
| 14:06:11.902 | infoGET /prices 200 212ms |
| 14:06:11.415 | errorTypeError: Cannot read properties of undefined (reading 'amount') |
| 14:06:10.866 | infocart.load cart=8f21 items=3 |
errorcheckout-api14:06:13.246
TypeError: Cannot read properties of undefined (reading 'amount')
Example project and data
Search by field, let Squasher fold similar messages together, and compare this hour with the last.
Query any attribute with field:value, quote a phrase, or switch the search to SQL.
See how many results each level, service, environment, and source holds, then narrow in one click.
Similar messages fold into one template, so a new kind of line stands out from the noise.
Compare this window with the one before it by level, service, environment, release, or an attribute you pick.
Chart log volume by level or any field, in steps from one minute to one day.
A log with a trace ID opens its trace waterfall and every other log from that request.
Type field:value pairs, quote a phrase, or exclude with a minus sign. Any attribute works as a field.
Paste any of these into Logs
level:errorservice:checkout-api,pricingmessage:"payment declined"service:checkout*-message:"health check"level:error OR level:fataltimeoutSquasher has transports for Pino and Winston, a handler for Go's log/slog, and a browser logger. Everything else sends over OpenTelemetry.
bun add @squasher-ai/pino pino1import pino from "pino";2 3export const logger = pino({4 transport: {5 target: "@squasher-ai/pino",6 options: {7 apiKey: process.env.SQUASHER_API_KEY,8 projectId: process.env.SQUASHER_PROJECT_ID,9 environment: process.env.NODE_ENV,10 },11 },12});Logs written inside a span() from the same package carry its trace ID.
Set the key, add one transport, and find the line you just wrote. Or paste one prompt into your coding agent and let it wire every service.
Put the key and project ID in environment variables. Never commit the key.
SQUASHER_API_KEY="sq_pk_…"SQUASHER_PROJECT_ID="<project-id>"Pino shown. Winston, Go, the browser, and OpenTelemetry are in the tabs above.
bun add @squasher-ai/pino pinoWrite one log line, then tail it in your terminal or search for it in Logs.
squasher logs tail --service checkout-apiInstall 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 -yA query monitor runs your log search on a schedule and opens an incident when the count crosses your line. Create one from the API, the CLI, or a template such as Error burst.
Checkout error burst
Query monitorHistorical firing previewWould have fired 2 times in the last 100 minutes
Opens an incident, routed toSlack #incidentsPagerDuty
Example monitor
How long each signal stays searchable, and how much telemetry each plan includes.
Logs, traces, metrics, and AI observations share one monthly telemetry allowance, measured in GB of accepted data.
Log monitoring collects the lines your services and platforms write, makes them searchable, and alerts you when a count or pattern changes. It is how you see a problem in the logs before a user reports it.
Log management is collecting, storing, and keeping logs. Log monitoring is watching them: searches, patterns, and alerts. Squasher does both for application logs, and your plan sets how long logs are kept.
Pino and Winston transports, a Go log/slog handler, and a browser logger for console errors. Any OpenTelemetry log exporter can send over OTLP, and log drains cover Vercel, Cloudflare, Railway, Heroku, Fly.io, Render, AWS CloudWatch, and more.
Type a query in Logs: field:value pairs such as level:error service:checkout-api, quoted phrases, wildcards, and a minus sign to exclude. Clauses side by side must all match, and OR matches either. For counts and grouping, switch the search to SQL.
Yes. A query monitor counts the logs that match a search over a window of 5 minutes to 30 days. It opens an incident when the count crosses your threshold or spikes over its usual baseline, and the incident routes to Slack, email, webhooks, PagerDuty, or Telegram.
From 7 days to 30 days, depending on your plan. The table on this page lists log, trace, and metric retention for every plan.
Attributes sent through the Squasher SDKs under keys such as password, token, secret, cookie, authorization, or api_key are replaced with [REDACTED] at ingest. OTLP data is stored as sent, so drop sensitive attributes in your Collector.
No. Squasher is for application logs and debugging: search, patterns, traces, and alerts. It is not built for security event management or long-term compliance archives.
Start free. Invite the whole team. AI triage is included on every plan.
For side projects, evals, and internal tools.
$0/ month
No card needed. No overage charges.
Start freeIncluded
For small production apps that want one tool, not five.
$29/ month
Flat price. No per-seat fees.
Start on ProEverything in Free, plus
For product teams replacing separate error, replay, and status tools.
$99/ month
Flat price. No per-seat fees.
Start on TeamEverything in Pro, plus
For high-volume teams with security, procurement, and support needs.
$299/ month
Flat price. No per-seat fees.
Start on ScaleEverything in Team, plus
Need more volume, a security review, or custom terms? Get in touch.
Connect one service and send one real event. The crew takes it from there.
Free plan. No credit card required.