---
title: "Integrate evlog"
description: "Pick a framework integration to capture requests, then pick adapters to ship events. Frameworks decide where the logger lives, adapters where events go."
canonical_url: "https://www.evlog.dev/integrate/overview"
---
# Integrate evlog

> Pick a framework integration to capture requests, then pick adapters to ship events. Frameworks decide where the logger lives, adapters where events go.

Once you understand the [logging modes](https://www.evlog.dev/learn/overview), there are two questions left to answer before evlog is wired into your stack:

1. **Where does the logger live?** → Pick a [framework integration](https://www.evlog.dev/integrate/frameworks/overview). Each integration creates the logger on every request, attaches it to the context, and emits the wide event when the response ends. You don't manage the lifecycle.
2. **Where do events go?** → Pick one or more [adapters](https://www.evlog.dev/integrate/adapters/overview). Adapters ship the wide event to an external observability platform: Axiom, Datadog, Sentry, PostHog, OTLP-compatible systems, file system, NuxtHub.

The two are independent. A Nuxt app can drain to Axiom, an Express app can drain to OTLP + Sentry simultaneously, a SvelteKit app can drain to a local file in dev and to Datadog in production.

Once something is wired, try [`evlog map`](https://www.evlog.dev/cli/map) (`npx evlog map`) to see which entry points are still dark, or [`evlog doctor`](https://www.evlog.dev/cli/doctor) if nothing is showing up. Early; optional, worth a run.

<card-group>
<card color="neutral" icon="i-lucide-layers" title="Frameworks (16)" to="https://www.evlog.dev/integrate/frameworks/overview">

Nuxt, Next.js, SvelteKit, Nitro, TanStack Start, NestJS, Express, Hono, Fastify, Elysia, React Router, Cloudflare Workers, AWS Lambda, Astro, Standalone, Custom integration.

</card>

<card color="neutral" icon="i-custom-plug" title="Adapters (9)" to="https://www.evlog.dev/integrate/adapters/overview">

Cloud destinations (Axiom, OTLP, HyperDX, Sazabi, PostHog, Sentry, Better Stack, Datadog) and self-hosted (file system, NuxtHub).

</card>
</card-group>

## Don't see your framework?

Check [Custom Framework Integration](https://www.evlog.dev/extend/custom-framework). The `evlog/toolkit` package exposes the same building blocks every built-in integration uses. Most HTTP frameworks need ~30 lines of glue.

## Don't see your destination?

Check [Custom Drains](https://www.evlog.dev/extend/custom-drains). `defineHttpDrain` from `evlog/toolkit` ships any backend with a single function and gives you batching, retries, timeouts, and identity headers for free.

---

- [Frameworks](https://www.evlog.dev/integrate/frameworks/overview)
- [Adapters](https://www.evlog.dev/integrate/adapters/overview)


## Sitemap

See the full [sitemap](https://www.evlog.dev/sitemap.md) for all pages.
