[{"data":1,"prerenderedAt":583},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-installation":297,"-getting-started-installation-surround":578},[4,30,70,115,203,267,283],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Logging","\u002Flogging","2.logging",[35,40,45,50,55,60,65],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flogging\u002Foverview","2.logging\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flogging\u002Fsimple-logging","2.logging\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flogging\u002Fwide-events","2.logging\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flogging\u002Fstructured-errors","2.logging\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Client Logging","\u002Flogging\u002Fclient-logging","2.logging\u002F4.client-logging","i-lucide-monitor",{"title":61,"path":62,"stem":63,"icon":64},"AI SDK Integration","\u002Flogging\u002Fai-sdk","2.logging\u002F5.ai-sdk","i-simple-icons-vercel",{"title":66,"path":67,"stem":68,"icon":69},"Better Auth Integration","\u002Flogging\u002Fbetter-auth","2.logging\u002F6.better-auth","i-simple-icons-betterauth",{"title":71,"path":72,"stem":73,"children":74,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[75,80,85,90,95,100,105,110],{"title":76,"path":77,"stem":78,"icon":79},"Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":81,"path":82,"stem":83,"icon":84},"Configuration","\u002Fcore-concepts\u002Fconfiguration","3.core-concepts\u002F1.configuration","i-lucide-settings",{"title":86,"path":87,"stem":88,"icon":89},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F2.sampling","i-lucide-filter",{"title":91,"path":92,"stem":93,"icon":94},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F3.typed-fields","i-simple-icons-typescript",{"title":96,"path":97,"stem":98,"icon":99},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F4.best-practices","i-lucide-shield-check",{"title":101,"path":102,"stem":103,"icon":104},"Performance","\u002Fcore-concepts\u002Fperformance","3.core-concepts\u002F5.performance","i-lucide-gauge",{"title":106,"path":107,"stem":108,"icon":109},"Vite Plugin","\u002Fcore-concepts\u002Fvite-plugin","3.core-concepts\u002F6.vite-plugin","i-custom-vite",{"title":111,"path":112,"stem":113,"icon":114},"Auto-Redaction","\u002Fcore-concepts\u002Fredaction","3.core-concepts\u002F7.redaction","i-lucide-eye-off",{"title":116,"path":117,"stem":118,"children":119,"page":29},"Frameworks","\u002Fframeworks","4.frameworks",[120,124,129,134,139,144,149,154,159,164,169,174,179,184,188,193,198],{"title":36,"path":121,"stem":122,"icon":123},"\u002Fframeworks\u002Foverview","4.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":125,"path":126,"stem":127,"icon":128},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":130,"path":131,"stem":132,"icon":133},"Next.js","\u002Fframeworks\u002Fnextjs","4.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":135,"path":136,"stem":137,"icon":138},"SvelteKit","\u002Fframeworks\u002Fsveltekit","4.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":140,"path":141,"stem":142,"icon":143},"Nitro","\u002Fframeworks\u002Fnitro","4.frameworks\u002F04.nitro","i-custom-nitro",{"title":145,"path":146,"stem":147,"icon":148},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","4.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":150,"path":151,"stem":152,"icon":153},"NestJS","\u002Fframeworks\u002Fnestjs","4.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":155,"path":156,"stem":157,"icon":158},"Express","\u002Fframeworks\u002Fexpress","4.frameworks\u002F07.express","i-simple-icons-express",{"title":160,"path":161,"stem":162,"icon":163},"Hono","\u002Fframeworks\u002Fhono","4.frameworks\u002F08.hono","i-simple-icons-hono",{"title":165,"path":166,"stem":167,"icon":168},"Fastify","\u002Fframeworks\u002Ffastify","4.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":170,"path":171,"stem":172,"icon":173},"Elysia","\u002Fframeworks\u002Felysia","4.frameworks\u002F10.elysia","i-custom-elysia",{"title":175,"path":176,"stem":177,"icon":178},"React Router","\u002Fframeworks\u002Freact-router","4.frameworks\u002F11.react-router","i-custom-reactrouter",{"title":180,"path":181,"stem":182,"icon":183},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","4.frameworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":185,"path":186,"stem":187,"icon":94},"Standalone","\u002Fframeworks\u002Fstandalone","4.frameworks\u002F13.standalone",{"title":189,"path":190,"stem":191,"icon":192},"Astro","\u002Fframeworks\u002Fastro","4.frameworks\u002F14.astro","i-simple-icons-astro",{"title":194,"path":195,"stem":196,"icon":197},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","4.frameworks\u002F15.custom-integration","i-lucide-puzzle",{"title":199,"path":200,"stem":201,"icon":202},"AWS Lambda","\u002Fframeworks\u002Faws-lambda","4.frameworks\u002F16.aws-lambda","i-custom-lambda",{"title":204,"path":205,"stem":206,"children":207,"page":29},"Adapters","\u002Fadapters","5.adapters",[208,212,217,222,227,232,237,242,247,252,257,262],{"title":36,"path":209,"stem":210,"icon":211},"\u002Fadapters\u002Foverview","5.adapters\u002F1.overview","i-custom-plug",{"title":213,"path":214,"stem":215,"icon":216},"Custom Adapters","\u002Fadapters\u002Fcustom","5.adapters\u002F10.custom","i-lucide-code",{"title":218,"path":219,"stem":220,"icon":221},"Pipeline","\u002Fadapters\u002Fpipeline","5.adapters\u002F11.pipeline","i-lucide-workflow",{"title":223,"path":224,"stem":225,"icon":226},"HTTP","\u002Fadapters\u002Fhttp","5.adapters\u002F12.http","i-lucide-globe",{"title":228,"path":229,"stem":230,"icon":231},"Axiom","\u002Fadapters\u002Faxiom","5.adapters\u002F2.axiom","i-custom-axiom",{"title":233,"path":234,"stem":235,"icon":236},"OTLP","\u002Fadapters\u002Fotlp","5.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":238,"path":239,"stem":240,"icon":241},"PostHog","\u002Fadapters\u002Fposthog","5.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":243,"path":244,"stem":245,"icon":246},"Sentry","\u002Fadapters\u002Fsentry","5.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":248,"path":249,"stem":250,"icon":251},"Better Stack","\u002Fadapters\u002Fbetter-stack","5.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":253,"path":254,"stem":255,"icon":256},"File System","\u002Fadapters\u002Ffs","5.adapters\u002F7.fs","i-lucide-hard-drive",{"title":258,"path":259,"stem":260,"icon":261},"Datadog","\u002Fadapters\u002Fdatadog","5.adapters\u002F8.datadog","i-simple-icons-datadog",{"title":263,"path":264,"stem":265,"icon":266},"HyperDX","\u002Fadapters\u002Fhyperdx","5.adapters\u002F9.hyperdx","i-custom-hyperdx",{"title":268,"path":269,"stem":270,"children":271,"page":29},"Enrichers","\u002Fenrichers","6.enrichers",[272,275,279],{"title":36,"path":273,"stem":274,"icon":28},"\u002Fenrichers\u002Foverview","6.enrichers\u002F1.overview",{"title":276,"path":277,"stem":278,"icon":197},"Built-in","\u002Fenrichers\u002Fbuilt-in","6.enrichers\u002F2.built-in",{"title":280,"path":281,"stem":282,"icon":216},"Custom","\u002Fenrichers\u002Fcustom","6.enrichers\u002F3.custom",{"title":284,"path":285,"stem":286,"children":287,"page":29},"NuxtHub","\u002Fnuxthub","7.nuxthub",[288,292],{"title":36,"path":289,"stem":290,"icon":291},"\u002Fnuxthub\u002Foverview","7.nuxthub\u002F1.overview","i-lucide-database",{"title":293,"path":294,"stem":295,"icon":296},"Retention","\u002Fnuxthub\u002Fretention","7.nuxthub\u002F2.retention","i-lucide-clock",{"id":298,"title":299,"body":300,"description":569,"extension":570,"links":571,"meta":574,"navigation":575,"path":16,"seo":576,"stem":17,"__hash__":577},"docs\u002F1.getting-started\u002F2.installation.md","Install evlog",{"type":301,"value":302,"toc":559},"minimark",[303,307,312,384,389,392,411,418,422,425,504,520,524,527,532,536,555],[304,305,306],"p",{},"evlog supports Nuxt, Next.js, SvelteKit, Nitro, NestJS, and any TypeScript server framework.",[308,309,311],"h2",{"id":310},"install","Install",[313,314,315,341,356,370],"code-group",{},[316,317,323],"pre",{"className":318,"code":319,"filename":320,"language":321,"meta":322,"style":322},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog\n","pnpm","bash","",[324,325,326],"code",{"__ignoreMap":322},[327,328,331,334,338],"span",{"class":329,"line":330},"line",1,[327,332,320],{"class":333},"sBMFI",[327,335,337],{"class":336},"sfazB"," add",[327,339,340],{"class":336}," evlog\n",[316,342,345],{"className":318,"code":343,"filename":344,"language":321,"meta":322,"style":322},"npm install evlog\n","npm",[324,346,347],{"__ignoreMap":322},[327,348,349,351,354],{"class":329,"line":330},[327,350,344],{"class":333},[327,352,353],{"class":336}," install",[327,355,340],{"class":336},[316,357,360],{"className":318,"code":358,"filename":359,"language":321,"meta":322,"style":322},"yarn add evlog\n","yarn",[324,361,362],{"__ignoreMap":322},[327,363,364,366,368],{"class":329,"line":330},[327,365,359],{"class":333},[327,367,337],{"class":336},[327,369,340],{"class":336},[316,371,374],{"className":318,"code":372,"filename":373,"language":321,"meta":322,"style":322},"bun add evlog\n","bun",[324,375,376],{"__ignoreMap":322},[327,377,378,380,382],{"class":329,"line":330},[327,379,373],{"class":333},[327,381,337],{"class":336},[327,383,340],{"class":336},[385,386,388],"h3",{"id":387},"using-agent-skills","Using Agent Skills",[304,390,391],{},"If you use an AI assistant (Claude Code, Cursor, etc.), install the evlog skill for guided setup and code review:",[316,393,396],{"className":318,"code":394,"filename":395,"language":321,"meta":322,"style":322},"npx skills add https:\u002F\u002Fwww.evlog.dev\n","Terminal",[324,397,398],{"__ignoreMap":322},[327,399,400,403,406,408],{"class":329,"line":330},[327,401,402],{"class":333},"npx",[327,404,405],{"class":336}," skills",[327,407,337],{"class":336},[327,409,410],{"class":336}," https:\u002F\u002Fwww.evlog.dev\n",[304,412,413,414,417],{},"Your AI assistant can then help you set up evlog, review your logging patterns, and migrate existing code to wide events. See ",[415,416,25],"a",{"href":26}," for details.",[308,419,421],{"id":420},"choose-your-framework","Choose Your Framework",[304,423,424],{},"After installing the package, follow the setup guide for your framework:",[426,427,428,445,455,461,464,467,473,479,484,489,495,501],"card-group",{},[429,430,432,433,436,437,440,441,444],"card",{"color":431,"icon":128,"title":125,"to":126},"neutral","Module with auto-imported ",[324,434,435],{},"useLogger",", ",[324,438,439],{},"createError",", and ",[324,442,443],{},"parseError",".",[429,446,447,450,451,454],{"color":431,"icon":133,"title":130,"to":131},[324,448,449],{},"createEvlog()"," factory with ",[324,452,453],{},"withEvlog()"," handler wrapper.",[429,456,457,458,444],{"color":431,"icon":138,"title":135,"to":136},"Handle and handleError hooks with ",[324,459,460],{},"event.locals.log",[429,462,463],{"color":431,"icon":143,"title":140,"to":141},"Module for Nitro v2 and v3 with plugin-based hooks.",[429,465,466],{"color":431,"icon":148,"title":145,"to":146},"Uses Nitro v3 module with async context.",[429,468,469,470,444],{"color":431,"icon":178,"title":175,"to":176},"Middleware with ",[324,471,472],{},"context.get(loggerContext)",[429,474,475,478],{"color":431,"icon":153,"title":150,"to":151},[324,476,477],{},"EvlogModule.forRoot()"," with global middleware.",[429,480,469,481,444],{"color":431,"icon":158,"title":155,"to":156},[324,482,483],{},"req.log",[429,485,469,486,444],{"color":431,"icon":163,"title":160,"to":161},[324,487,488],{},"c.get('log')",[429,490,491,492,444],{"color":431,"icon":168,"title":165,"to":166},"Plugin with ",[324,493,494],{},"request.log",[429,496,491,497,500],{"color":431,"icon":173,"title":170,"to":171},[324,498,499],{},"log"," in route context.",[429,502,503],{"color":431,"icon":183,"title":180,"to":181},"Factory for request-scoped loggers.",[505,506,508,509,512,513,436,516,440,518,444],"callout",{"color":431,"icon":507},"i-lucide-arrow-right","See the full ",[415,510,511],{"href":121},"Framework Integrations"," page for a comparison table and all available integrations including ",[415,514,515],{"href":186},"Standalone TypeScript",[415,517,189],{"href":190},[415,519,194],{"href":195},[308,521,523],{"id":522},"typescript-configuration","TypeScript Configuration",[304,525,526],{},"evlog ships with full TypeScript type definitions. No additional configuration is required.",[505,528,531],{"color":529,"icon":530},"success","i-lucide-check","evlog requires TypeScript 5.0 or higher for optimal type inference.",[308,533,535],{"id":534},"next-steps","Next Steps",[537,538,539,545,550],"ul",{},[540,541,542,544],"li",{},[415,543,20],{"href":21}," - Learn the core concepts and start using evlog",[540,546,547,549],{},[415,548,46],{"href":47}," - Understand the wide event pattern",[540,551,552,554],{},[415,553,204],{"href":209}," - Send logs to Axiom, PostHog, Sentry, and more",[556,557,558],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":322,"searchDepth":560,"depth":560,"links":561},2,[562,566,567,568],{"id":310,"depth":560,"text":311,"children":563},[564],{"id":387,"depth":565,"text":388},3,{"id":420,"depth":560,"text":421},{"id":522,"depth":560,"text":523},{"id":534,"depth":560,"text":535},"Install evlog in your TypeScript project. Supports Nuxt, Next.js, SvelteKit, Hono, Express, Fastify, Elysia, NestJS, and standalone scripts.","md",[572],{"label":116,"icon":123,"to":121,"color":431,"variant":573},"subtle",{},{"title":15,"icon":18},{"title":299,"description":569},"58xRahbsDWQceUkodLt05_caoFNT-6OXph5ffXGNNkY",[579,581],{"title":10,"path":11,"stem":12,"description":580,"icon":13,"children":-1},"A structured logging library for TypeScript. Simple logging, wide events, and structured errors, from quick one-liners to comprehensive request-scoped events.",{"title":20,"path":21,"stem":22,"description":582,"icon":23,"children":-1},"Get up and running with evlog in minutes. Learn the log API, createLogger for wide events, useLogger for requests, and structured errors.",1776287857064]