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