# EZLogs: Plain-English activity logs for Rails and Next.js apps

> Source: <https://ezlogs.io/>
> Published: 2026-05-29 09:40:12+00:00

## What does EZLogs actually do?

It records every request, background job, and database change in your app, links them by user action, and turns each chain into one plain-English card — so anyone on your team can read what happened, not just the engineers.

## Will it slow down my app?

No. The agent runs out-of-band: events are buffered in memory and shipped to EZLogs over a separate connection. If our service is down, the agent fails open and your app keeps running. Average overhead in benchmarks: under 1 ms per request.

## What happens if EZLogs is down?

Your app keeps serving traffic. The agent buffers up to 10,000 events in memory and retries with exponential backoff. If the buffer overflows, it drops the oldest events — never the customer's request.

## How is this different from Datadog, New Relic, or Honeycomb?

Those tools are for engineers, and they answer "is the system healthy?" EZLogs is for everyone, and it answers "what happened to my customer?" We don't compete with metrics. We're the layer above them.

## Do you store my customer data?

We store the events your app sends us — request paths, job names, table names, and the before/after values you explicitly capture. We do not store request bodies, response bodies, or full database rows unless you opt in. Field-level redaction is on by default for any column matching `password`

, `token`

, `secret`

, `key`

, or `*_at`

timestamps.

## What languages and frameworks are supported today?

Ruby on Rails (Sidekiq, ActiveJob, ActiveRecord) and Next.js (App Router, Pages Router, Server Actions, Prisma, Drizzle, supabase-js, BullMQ, Inngest, Trigger.dev, Upstash, Supabase Queues). FastAPI is next.

## Can I self-host?

Not yet. Self-host is on the post-launch roadmap. If self-hosting is a hard requirement for you, [email us](mailto:hello@ezlogs.io) — we want to talk.

## Is the AI explanation accurate?

The AI only writes sentences using the structured events your app actually sent. It never invents data. If it doesn't know, it says so. Every generated explanation is cached and reproducible — re-running the same action produces the same words.

## What happens when my free trial ends?

Your account auto-downgrades to our Free plan (5,000 actions/month, 25 chat messages, 14-day retention) — no lockout. Your data stays viewable for 30 days while you decide whether to upgrade. Pick a paid plan any time; the agent reconnects on its next request, no redeploy needed.

## What's the difference between the trial and the Free plan?

The 14-day trial gives you Business-tier chat (5,000 messages/mo) and AI explainer (50,000 calls/mo) with up to 500,000 actions ingested — full product access. The Free plan is forever-free with smaller limits (5,000 actions, 25 chat, 100 explainer) so you can keep using EZLogs on a small project even after the trial.

## Can I export my data?

Yes. `/settings/data-export`

gives you a full JSON archive of every action, event, actor, and entity we have on file. Available on every plan, including Free — GDPR Article 20 compliant.

## How does MCP pricing work?

MCP access is **unlimited on every paid tier**. Chat-message limits do NOT apply to MCP. This is intentional — MCP is consumed by your AI (Claude, Cursor, your internal copilot), which spends its own credits to narrate the data it queries. We just deliver the structured rows. The only meters that exist are: actions ingested, in-app chat messages, AI explainer calls.
