# evlog ## Documentation Sets - [evlog](https://www.evlog.dev/llms-full.txt) ## Docs - [Introduction](https://www.evlog.dev/raw/getting-started/introduction.md): A TypeScript logging library focused on wide events and structured error handling. Replace scattered logs with one comprehensive event per request. - [Install evlog](https://www.evlog.dev/raw/getting-started/installation.md): Install evlog in your Nuxt, Next.js, Nitro, Cloudflare Workers, or standalone TypeScript project. Configure sampling, log draining, and client transport. - [Quick Start](https://www.evlog.dev/raw/getting-started/quick-start.md): Get up and running with evlog in minutes. Learn useLogger, createError, parseError, and the log API for wide events and structured errors. - [Agent Skills](https://www.evlog.dev/raw/getting-started/agent-skills.md): AI-assisted code review and evlog adoption using Agent Skills. Let AI review your logging patterns and guide migration to wide events. - [Wide Events](https://www.evlog.dev/raw/core-concepts/wide-events.md): Learn how to design effective wide events that capture everything you need in a single log. One comprehensive event per request with full context. - [Structured Errors](https://www.evlog.dev/raw/core-concepts/structured-errors.md): Create errors that explain why they occurred and how to fix them. Add actionable context with why, fix, and link fields for humans and AI agents. - [Best Practices](https://www.evlog.dev/raw/core-concepts/best-practices.md): Security guidelines, data sanitization, and production tips for evlog. Learn what not to log and how to protect sensitive data. - [Typed Fields](https://www.evlog.dev/raw/core-concepts/typed-fields.md): Add compile-time type safety to your wide events with TypeScript module augmentation. Prevent typos and ensure consistent field names across your codebase. - [Adapters Overview](https://www.evlog.dev/raw/adapters/overview.md): Send your logs to external services with evlog adapters. Built-in support for popular observability platforms and custom destinations. - [Axiom Adapter](https://www.evlog.dev/raw/adapters/axiom.md): Send wide events to Axiom for powerful querying, dashboards, and alerting. Zero-config setup with environment variables and automatic batching. - [OTLP Adapter](https://www.evlog.dev/raw/adapters/otlp.md): Send logs via OpenTelemetry Protocol (OTLP) to Grafana, Datadog, Honeycomb, and any compatible backend. Supports gRPC and HTTP transports. - [PostHog Adapter](https://www.evlog.dev/raw/adapters/posthog.md): Send wide events to PostHog as custom events for product analytics, session replay correlation, and structured log querying in your dashboards. - [Sentry Adapter](https://www.evlog.dev/raw/adapters/sentry.md): Send structured logs to Sentry Logs for high-cardinality querying and debugging. Zero-config setup with environment variables. - [Better Stack Adapter](https://www.evlog.dev/raw/adapters/better-stack.md): Send wide events to Better Stack (formerly Logtail) for log management, alerting, and dashboards. Zero-config setup with environment variables. - [Custom Adapters](https://www.evlog.dev/raw/adapters/custom.md): Build your own adapter to send logs to any destination. Factory patterns, batching, filtering, and error handling best practices. - [Drain Pipeline](https://www.evlog.dev/raw/adapters/pipeline.md): Batch events, retry on failure, and protect against buffer overflow with the shared drain pipeline. Supports fan-out to multiple adapters. - [Browser Drain](https://www.evlog.dev/raw/adapters/browser.md): Framework-agnostic browser log transport for sending client-side logs to your server via fetch or sendBeacon. Works with any frontend stack. - [Enrichers Overview](https://www.evlog.dev/raw/enrichers/overview.md): Enrich your wide events with derived context like user agent, geo data, request size, and trace context. Built-in enrichers and custom enricher support. - [Built-in Enrichers](https://www.evlog.dev/raw/enrichers/built-in.md): Reference for all built-in evlog enrichers. Parse user agents, extract geo data, measure request sizes, and capture trace context automatically. - [Custom Enrichers](https://www.evlog.dev/raw/enrichers/custom.md): Write custom enrichers to add derived context to your wide events. Add deployment metadata, tenant IDs, feature flags, or any computed data. - [NuxtHub Storage](https://www.evlog.dev/raw/nuxthub/overview.md): Self-hosted log retention for evlog using NuxtHub database storage. Store, query, and automatically clean up your structured logs with zero external dependencies. - [Retention & Cleanup](https://www.evlog.dev/raw/nuxthub/retention.md): Configure how long logs are kept in NuxtHub and how they are automatically cleaned up with scheduled tasks, cron jobs, and retention policies. - [Next.js](https://www.evlog.dev/raw/examples/nextjs.md): Practical patterns for evlog with Next.js — enrichers, drain pipeline, tail sampling, route-based services, error handling, and client-side logging.