Skip to content

Search every log line. Alert on the ones that matter.

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.

app.squasher.ai/acme/checkout-api/logs
service:checkout-api,pricing -message:"health check"
LuceneSQLLast 1h
TimestampMessage
14:06:13.251infoPOST /api/checkout 500 2.31s
14:06:13.246errorTypeError: Cannot read properties of undefined (reading 'amount')
14:06:13.240warnprice pending at render
14:06:13.050warnprice cache miss, loading from db
14:06:12.990infoorder 7f13 received, currency EUR
14:06:12.730infoGET /api/cart 200 84ms
14:06:11.902infoGET /prices 200 212ms
14:06:11.415errorTypeError: Cannot read properties of undefined (reading 'amount')
14:06:10.866infocart.load cart=8f21 items=3

Example project and data

Ship logs from where they already run.

  • Pino
  • Node.js
  • Go
  • Python
  • OpenTelemetry
  • Vercel
  • Cloudflare
  • Railway
  • Fly.io
  • AWS

Find the one bad line fast.

Search by field, let Squasher fold similar messages together, and compare this hour with the last.

  • Field search

    Query any attribute with field:value, quote a phrase, or switch the search to SQL.

  • Facets with counts

    See how many results each level, service, environment, and source holds, then narrow in one click.

  • Patterns

    Similar messages fold into one template, so a new kind of line stands out from the noise.

  • Changes

    Compare this window with the one before it by level, service, environment, release, or an attribute you pick.

  • Volume

    Chart log volume by level or any field, in steps from one minute to one day.

  • Trace in one click

    A log with a trace ID opens its trace waterfall and every other log from that request.

A search syntax you already know.

Type field:value pairs, quote a phrase, or exclude with a minus sign. Any attribute works as a field.

  • Clauses side by side must all match. OR matches either.
  • service:a,b matches any value in the list.
  • Switch the search to SQL for counts and grouping.
Logs search reference

Paste any of these into Logs

level:error
Every error log.
service:checkout-api,pricing
Logs from either service.
message:"payment declined"
An exact phrase in the message.
service:checkout*
A wildcard on any field.
-message:"health check"
Leave the noise out.
level:error OR level:fatal
Either condition.
timeout
Free text in the message.

Keep your logger. Add a transport.

Squasher has transports for Pino and Winston, a handler for Go's log/slog, and a browser logger. Everything else sends over OpenTelemetry.

  • Each one sends in the background, so a log call never waits on the network.
  • Structured fields stay typed and searchable.
  • Platform logs arrive through drains, with no code change.
All log sources
bun add @squasher-ai/pino pino
src/logger.ts
1import 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.

Your first log in three steps.

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.

  1. Set your project key

    Put the key and project ID in environment variables. Never commit the key.

    SQUASHER_API_KEY="sq_pk_…"SQUASHER_PROJECT_ID="<project-id>"
  2. Add the transport

    Pino shown. Winston, Go, the browser, and OpenTelemetry are in the tabs above.

    bun add @squasher-ai/pino pino
    Pino guide
  3. Watch it arrive

    Write one log line, then tail it in your terminal or search for it in Logs.

    squasher logs tail --service checkout-api
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

Turn a search into an alert.

A 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.

  • Count matching logs over 5 minutes to 30 days.
  • Fire above a number, below it, or on a spike over the usual baseline.
  • Incidents route to Slack, email, webhooks, PagerDuty, or Telegram.
Monitors API
app.squasher.ai/acme/checkout-api/monitors/checkout-error-burst

Checkout error burst

Query monitor
Counts matching logs on a schedule.
Log queryservice:checkout-api level:error
ConditionCount > 25 in the last 5 minutes
CheckEvery 5 minutes

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

Opens an incident, routed toSlack #incidentsPagerDuty

Example monitor

Retention and volume by plan.

How long each signal stays searchable, and how much telemetry each plan includes.

Log retention

Free
7 days
Pro
30 days
Team
30 days
Scale
30 days

Trace retention

Free
7 days
Pro
30 days
Team
30 days
Scale
30 days

Metric retention

Free
30 days
Pro
13 months
Team
13 months
Scale
13 months

Telemetry included

Free
10 GB / month
Pro
100 GB / month
Team
250 GB / month
Scale
1 TB / month

Logs, traces, metrics, and AI observations share one monthly telemetry allowance, measured in GB of accepted data.

Questions, answered.

What is log monitoring?

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.

What is the difference between log monitoring and log management?

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.

Which loggers and sources can send logs to Squasher?

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.

How do I search logs in Squasher?

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.

Can I get an alert from a log search?

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.

How long does Squasher keep logs?

From 7 days to 30 days, depending on your plan. The table on this page lists log, trace, and metric retention for every plan.

Does Squasher remove secrets from logs?

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.

Does Squasher replace a SIEM?

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.

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.