---
title: "Integrations"
description: "Browser, mobile, framework, and platform-specific logger setup for Blyp integrations."
canonical_url: "https://www.blyp.dev/docs/integrations"
markdown_url: "https://www.blyp.dev/docs/integrations.md"
last_updated: "2018-10-20"
x_farming_labs_generated_preamble: true
---

# Integrations
URL: /docs/integrations
LLM index: /llms.txt
Description: Browser, mobile, framework, and platform-specific logger setup for Blyp integrations.

# Integrations

Blyp integrations cover browser logging, mobile transport, and server-side adapters. Together they let you:

- create or expose a `BlypLogger`
- attach logging to the framework or runtime in a native way
- emit HTTP lifecycle logs when the platform has a request lifecycle
- optionally ingest or sync client logs to your backend

## Integration map

| Framework | Import path | Main API | Where the logger is exposed |
| --- | --- | --- | --- |
| Client (Browser) | `@blyp/core/client` | `createClientLogger()` | returned logger instance in the browser |
| Elysia | `@blyp/core/elysia` | `createLogger()` | `ctx.log` |
| Expo | `@blyp/core/expo` | `createExpoLogger()` | returned logger instance in the Expo app |
| Hono | `@blyp/core/hono` | `createLogger()` | `context.get("blypLog")` |
| Express | `@blyp/core/express` | `createLogger()` | `req.blypLog` |
| Fastify | `@blyp/core/fastify` | `createLogger()` | `request.blypLog` |
| NestJS | `@blyp/core/nestjs` | `createLogger()` + `BlypModule.forRoot()` | `req.blypLog` and root `logger` |
| Next.js App Router | `@blyp/core/nextjs` | `createLogger()` | `withLogger(..., { log })` |
| Farm.js | `@blyp/core/farmjs` | `blypPlugin()` | request-aware exported `logger` |
| React Router | `@blyp/core/react-router` | `createLogger()` | request-scoped logger stored in `context`, read through `getLogger(context)` |
| TanStack Start | `@blyp/core/tanstack-start` | `createLogger()` | `context.blypLog` |
| SolidStart | `@blyp/core/solid-start` | `createLogger()` | `event.locals.blypLog` and `getRequestEvent()?.locals.blypLog` |
| SvelteKit | `@blyp/core/sveltekit` | `createLogger()` | `event.locals.blypLog` |
| Astro | `@blyp/core/astro` | `createLogger()` | `context.locals.blypLog` |
| Nuxt | `@blyp/core/nuxt` | `createLogger()` | `nuxtLogger.getLogger(event)` |
| Cloudflare Workers | `@blyp/core/workers` | `initWorkersLogger()` + `createWorkersLogger()` | request-scoped logger returned per request |
| Convex | `@blyp/core/convex` | `logger` + `configureConvexLogger()` | default logger in queries, mutations, and actions |

## Shared server-adapter config shape

All server adapters accept the same core options:

```ts
{
  level?: string;
  pretty?: boolean;
  logDir?: string;
  file?: LogFileConfig;
  autoLogging?: boolean | { ignore?: (ctx) => boolean };
  customProps?: (ctx) => Record<string, unknown>;
  logErrors?: boolean;
  ignorePaths?: string[];
  clientLogging?: boolean | {
    path?: string;
    validate?: (ctx, payload) => boolean | Promise<boolean>;
    enrich?: (ctx, payload) => Record<string, unknown> | Promise<Record<string, unknown>>;
  };
}
```

## Client ingestion behavior

- Default ingestion path: `/inngest`
- When client logging is enabled, Blyp automatically excludes the ingestion path from normal HTTP request logging
- Some adapters auto-register the endpoint for you; others return a handler you mount manually
- If you mount a handler on the wrong path, adapters like Next.js, SvelteKit, SolidStart, and TanStack Start return a `500` mismatch response
- The browser [Client](/docs/integrations/client) uses same-origin delivery by default and can fall back to `sendBeacon()` when possible
- Expo is different: it sends logs directly to an absolute backend URL, queues failures in memory, resumes on connectivity changes via `expo-network`, and does not register a local ingestion handler

Pick an integration page below for the exact wiring:

- [Client](/docs/integrations/client)
- [Elysia](/docs/integrations/elysia)
- [Expo](/docs/integrations/expo)
- [Hono](/docs/integrations/hono)
- [Express](/docs/integrations/express)
- [Fastify](/docs/integrations/fastify)
- [NestJS](/docs/integrations/nestjs)
- [Next.js App Router](/docs/integrations/nextjs)
- [Farm.js](/docs/integrations/farmjs)
- [React Router](/docs/integrations/react-router)
- [TanStack Start](/docs/integrations/tanstack-start)
- [SolidStart](/docs/integrations/solid-start)
- [SvelteKit](/docs/integrations/sveltekit)
- [Astro](/docs/integrations/astro)
- [Nuxt](/docs/integrations/nuxt)
- [Cloudflare Workers](/docs/integrations/workers)
- [Convex](/docs/integrations/convex)

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
Docs-scoped sitemap: [/docs/sitemap.md](/docs/sitemap.md).
Well-known sitemap: [/.well-known/sitemap.md](/.well-known/sitemap.md).
