[{"data":1,"prerenderedAt":3800},["ShallowReactive",2],{"navigation_docs":3,"-integrate-frameworks-nuxt":529,"-integrate-frameworks-nuxt-surround":3795},[4,30,80,128,308,440,499],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118,123],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"icon":127},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":129,"path":130,"stem":131,"children":132,"page":29},"Integrate","\u002Fintegrate","4.integrate",[133,137,220],{"title":36,"path":134,"stem":135,"icon":136},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":138,"path":139,"stem":140,"children":141,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[142,145,175,200],{"title":36,"path":143,"stem":144,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":146,"path":147,"stem":148,"children":149,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[150,155,160,165,170],{"title":151,"path":152,"stem":153,"icon":154},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":156,"path":157,"stem":158,"icon":159},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":161,"path":162,"stem":163,"icon":164},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":166,"path":167,"stem":168,"icon":169},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":171,"path":172,"stem":173,"icon":174},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":176,"path":177,"stem":178,"children":179,"page":29},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[180,185,190,195],{"title":181,"path":182,"stem":183,"icon":184},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":186,"path":187,"stem":188,"icon":189},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":191,"path":192,"stem":193,"icon":194},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":196,"path":197,"stem":198,"icon":199},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":201,"path":202,"stem":203,"children":204,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[205,210,215],{"title":206,"path":207,"stem":208,"icon":209},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":211,"path":212,"stem":213,"icon":214},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":216,"path":217,"stem":218,"icon":219},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":221,"path":222,"stem":223,"children":224,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[225,229,234,239,244,249,254,259,264,269,274,279,284,289,293,298,303],{"title":36,"path":226,"stem":227,"icon":228},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":230,"path":231,"stem":232,"icon":233},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":235,"path":236,"stem":237,"icon":238},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":240,"path":241,"stem":242,"icon":243},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":245,"path":246,"stem":247,"icon":248},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":250,"path":251,"stem":252,"icon":253},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":255,"path":256,"stem":257,"icon":258},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":260,"path":261,"stem":262,"icon":263},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":265,"path":266,"stem":267,"icon":268},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":270,"path":271,"stem":272,"icon":273},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":275,"path":276,"stem":277,"icon":278},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":280,"path":281,"stem":282,"icon":283},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":285,"path":286,"stem":287,"icon":288},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":290,"path":291,"stem":292,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":294,"path":295,"stem":296,"icon":297},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":299,"path":300,"stem":301,"icon":302},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":304,"path":305,"stem":306,"icon":307},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":309,"path":310,"stem":311,"children":312,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[313,316,321,350,377,409,430,435],{"title":36,"path":314,"stem":315,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":317,"path":318,"stem":319,"icon":320},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":322,"icon":323,"path":324,"stem":325,"children":326,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[327,330,335,340,345],{"title":36,"path":328,"stem":329,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":331,"path":332,"stem":333,"icon":334},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":336,"path":337,"stem":338,"icon":339},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":341,"path":342,"stem":343,"icon":344},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":346,"path":347,"stem":348,"icon":349},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":351,"icon":352,"path":353,"stem":354,"children":355,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[356,359,364,369,373],{"title":36,"path":357,"stem":358,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":360,"path":361,"stem":362,"icon":363},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":365,"path":366,"stem":367,"icon":368},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":370,"path":371,"stem":372,"icon":320},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":374,"path":375,"stem":376,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":378,"icon":379,"path":380,"stem":381,"children":382,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[383,386,391,396,401,405],{"title":36,"path":384,"stem":385,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":387,"path":388,"stem":389,"icon":390},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":392,"path":393,"stem":394,"icon":395},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":397,"path":398,"stem":399,"icon":400},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":402,"path":403,"stem":404,"icon":379},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":406,"path":407,"stem":408,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":346,"icon":107,"path":410,"stem":411,"children":412,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[413,416,421,426],{"title":36,"path":414,"stem":415,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":417,"path":418,"stem":419,"icon":420},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":422,"path":423,"stem":424,"icon":425},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":427,"path":428,"stem":429,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":431,"path":432,"stem":433,"icon":434},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":436,"path":437,"stem":438,"icon":439},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":441,"path":442,"stem":443,"children":444,"page":29},"Extend","\u002Fextend","6.extend",[445,449,454,459,463,468,472,476,480,484,489,494],{"title":36,"path":446,"stem":447,"icon":448},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":450,"path":451,"stem":452,"icon":453},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":455,"path":456,"stem":457,"icon":458},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":460,"path":461,"stem":462,"icon":453},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":464,"path":465,"stem":466,"icon":467},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":406,"path":469,"stem":470,"icon":471},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":473,"path":474,"stem":475,"icon":448},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":477,"path":478,"stem":479,"icon":434},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":481,"path":482,"stem":483,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":485,"path":486,"stem":487,"icon":488},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":490,"path":491,"stem":492,"icon":493},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":495,"path":496,"stem":497,"icon":498},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":427,"path":500,"stem":501,"children":502,"page":29},"\u002Freference","7.reference",[503,508,511,516,520,525],{"title":504,"path":505,"stem":506,"icon":507},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":374,"path":509,"stem":510,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":512,"path":513,"stem":514,"icon":515},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":517,"path":518,"stem":519,"icon":379},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":521,"path":522,"stem":523,"icon":524},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":526,"path":527,"stem":528,"icon":434},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"id":530,"title":230,"body":531,"description":3788,"extension":3789,"links":3790,"meta":3791,"navigation":3792,"path":231,"seo":3793,"stem":232,"__hash__":3794},"docs\u002F4.integrate\u002Fframeworks\u002F01.nuxt.md",{"type":532,"value":533,"toc":3760},"minimark",[534,551,598,602,607,678,682,798,808,811,818,1173,1176,1254,1258,1273,1531,1547,1550,1570,1580,1791,1817,1863,1867,1876,2008,2021,2025,2028,2195,2199,2202,2206,2444,2448,2655,2664,2666,2670,2673,2800,2803,2807,2810,2954,2958,2965,3118,3125,3129,3132,3225,3229,3258,3262,3268,3373,3377,3380,3513,3517,3524,3717,3721,3727,3756],[535,536,537,538,542,543,546,547,550],"p",{},"evlog provides a first-class Nuxt module with auto-imported ",[539,540,541],"code",{},"useLogger",", ",[539,544,545],{},"createError",", and ",[539,548,549],{},"parseError",". Add it to your config and start logging with zero boilerplate.",[552,553,556,559,584],"prompt",{":actions":554,"description":555,"icon":233},"[\"copy\",\"cursor\",\"claude\"]","Set up evlog in my Nuxt app",[535,557,558],{},"Set up evlog in my Nuxt app with wide events and structured errors.",[560,561,562,566,569,572,575,578,581],"ul",{},[563,564,565],"li",{},"Install evlog: pnpm add evlog",[563,567,568],{},"Add 'evlog\u002Fnuxt' to modules in nuxt.config.ts",[563,570,571],{},"Set evlog.env.service to my app name",[563,573,574],{},"useLogger, createError, and parseError are auto-imported",[563,576,577],{},"Create a server\u002Fapi route using useLogger(event) and log.set() to build a wide event",[563,579,580],{},"Throw errors with createError({ message, status, why, fix })",[563,582,583],{},"Wide events are auto-emitted when each request completes",[535,585,586,587,593,594],{},"Docs: ",[588,589,590],"a",{"href":590,"rel":591},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fframeworks\u002Fnuxt",[592],"nofollow","\nAdapters: ",[588,595,596],{"href":596,"rel":597},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Foverview",[592],[599,600,25],"h2",{"id":601},"quick-start",[603,604,606],"h3",{"id":605},"_1-install","1. Install",[608,609,610,635,649,663],"code-group",{},[611,612,618],"pre",{"className":613,"code":614,"filename":615,"language":616,"meta":617,"style":617},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog\n","pnpm","bash","",[539,619,620],{"__ignoreMap":617},[621,622,625,628,632],"span",{"class":623,"line":624},"line",1,[621,626,615],{"class":627},"sBMFI",[621,629,631],{"class":630},"sfazB"," add",[621,633,634],{"class":630}," evlog\n",[611,636,639],{"className":613,"code":637,"filename":638,"language":616,"meta":617,"style":617},"bun add evlog\n","bun",[539,640,641],{"__ignoreMap":617},[621,642,643,645,647],{"class":623,"line":624},[621,644,638],{"class":627},[621,646,631],{"class":630},[621,648,634],{"class":630},[611,650,653],{"className":613,"code":651,"filename":652,"language":616,"meta":617,"style":617},"yarn add evlog\n","yarn",[539,654,655],{"__ignoreMap":617},[621,656,657,659,661],{"class":623,"line":624},[621,658,652],{"class":627},[621,660,631],{"class":630},[621,662,634],{"class":630},[611,664,667],{"className":613,"code":665,"filename":666,"language":616,"meta":617,"style":617},"npm install evlog\n","npm",[539,668,669],{"__ignoreMap":617},[621,670,671,673,676],{"class":623,"line":624},[621,672,666],{"class":627},[621,674,675],{"class":630}," install",[621,677,634],{"class":630},[603,679,681],{"id":680},"_2-add-the-module","2. Add the module",[611,683,688],{"className":684,"code":685,"filename":686,"language":687,"meta":617,"style":617},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    env: {\n      service: 'my-app',\n    },\n  },\n})\n","nuxt.config.ts","typescript",[539,689,690,711,738,749,759,777,783,789],{"__ignoreMap":617},[621,691,692,696,699,703,707],{"class":623,"line":624},[621,693,695],{"class":694},"s7zQu","export",[621,697,698],{"class":694}," default",[621,700,702],{"class":701},"s2Zo4"," defineNuxtConfig",[621,704,706],{"class":705},"sTEyZ","(",[621,708,710],{"class":709},"sMK4o","{\n",[621,712,714,718,721,724,727,730,732,735],{"class":623,"line":713},2,[621,715,717],{"class":716},"swJcz","  modules",[621,719,720],{"class":709},":",[621,722,723],{"class":705}," [",[621,725,726],{"class":709},"'",[621,728,729],{"class":630},"evlog\u002Fnuxt",[621,731,726],{"class":709},[621,733,734],{"class":705},"]",[621,736,737],{"class":709},",\n",[621,739,741,744,746],{"class":623,"line":740},3,[621,742,743],{"class":716},"  evlog",[621,745,720],{"class":709},[621,747,748],{"class":709}," {\n",[621,750,752,755,757],{"class":623,"line":751},4,[621,753,754],{"class":716},"    env",[621,756,720],{"class":709},[621,758,748],{"class":709},[621,760,762,765,767,770,773,775],{"class":623,"line":761},5,[621,763,764],{"class":716},"      service",[621,766,720],{"class":709},[621,768,769],{"class":709}," '",[621,771,772],{"class":630},"my-app",[621,774,726],{"class":709},[621,776,737],{"class":709},[621,778,780],{"class":623,"line":779},6,[621,781,782],{"class":709},"    },\n",[621,784,786],{"class":623,"line":785},7,[621,787,788],{"class":709},"  },\n",[621,790,792,795],{"class":623,"line":791},8,[621,793,794],{"class":709},"}",[621,796,797],{"class":705},")\n",[535,799,800,801,542,803,546,805,807],{},"That's it. ",[539,802,541],{},[539,804,545],{},[539,806,549],{}," are auto-imported.",[599,809,46],{"id":810},"wide-events",[535,812,813,814,817],{},"Build up context progressively throughout a request with ",[539,815,816],{},"useLogger(event)",". evlog emits a single wide event when the request completes.",[611,819,822],{"className":684,"code":820,"filename":821,"language":687,"meta":617,"style":617},"export default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const body = await readBody(event)\n\n  log.set({ user: { id: body.userId, plan: 'enterprise' } })\n\n  const cart = await db.findCart(body.cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const payment = await processPayment(cart)\n  log.set({ payment: { method: payment.method, cardLast4: payment.last4 } })\n\n  return { success: true, orderId: payment.orderId }\n})\n","server\u002Fapi\u002Fcheckout.post.ts",[539,823,824,854,874,895,901,959,963,994,1049,1054,1076,1127,1132,1166],{"__ignoreMap":617},[621,825,826,828,830,833,835,839,842,846,849,852],{"class":623,"line":624},[621,827,695],{"class":694},[621,829,698],{"class":694},[621,831,832],{"class":701}," defineEventHandler",[621,834,706],{"class":705},[621,836,838],{"class":837},"spNyl","async",[621,840,841],{"class":709}," (",[621,843,845],{"class":844},"sHdIc","event",[621,847,848],{"class":709},")",[621,850,851],{"class":837}," =>",[621,853,748],{"class":709},[621,855,856,859,862,865,868,870,872],{"class":623,"line":713},[621,857,858],{"class":837},"  const",[621,860,861],{"class":705}," log",[621,863,864],{"class":709}," =",[621,866,867],{"class":701}," useLogger",[621,869,706],{"class":716},[621,871,845],{"class":705},[621,873,797],{"class":716},[621,875,876,878,881,883,886,889,891,893],{"class":623,"line":740},[621,877,858],{"class":837},[621,879,880],{"class":705}," body",[621,882,864],{"class":709},[621,884,885],{"class":694}," await",[621,887,888],{"class":701}," readBody",[621,890,706],{"class":716},[621,892,845],{"class":705},[621,894,797],{"class":716},[621,896,897],{"class":623,"line":751},[621,898,900],{"emptyLinePlaceholder":899},true,"\n",[621,902,903,906,909,912,914,917,920,922,925,928,930,932,934,937,940,943,945,947,950,952,955,957],{"class":623,"line":761},[621,904,905],{"class":705},"  log",[621,907,908],{"class":709},".",[621,910,911],{"class":701},"set",[621,913,706],{"class":716},[621,915,916],{"class":709},"{",[621,918,919],{"class":716}," user",[621,921,720],{"class":709},[621,923,924],{"class":709}," {",[621,926,927],{"class":716}," id",[621,929,720],{"class":709},[621,931,880],{"class":705},[621,933,908],{"class":709},[621,935,936],{"class":705},"userId",[621,938,939],{"class":709},",",[621,941,942],{"class":716}," plan",[621,944,720],{"class":709},[621,946,769],{"class":709},[621,948,949],{"class":630},"enterprise",[621,951,726],{"class":709},[621,953,954],{"class":709}," }",[621,956,954],{"class":709},[621,958,797],{"class":716},[621,960,961],{"class":623,"line":779},[621,962,900],{"emptyLinePlaceholder":899},[621,964,965,967,970,972,974,977,979,982,984,987,989,992],{"class":623,"line":785},[621,966,858],{"class":837},[621,968,969],{"class":705}," cart",[621,971,864],{"class":709},[621,973,885],{"class":694},[621,975,976],{"class":705}," db",[621,978,908],{"class":709},[621,980,981],{"class":701},"findCart",[621,983,706],{"class":716},[621,985,986],{"class":705},"body",[621,988,908],{"class":709},[621,990,991],{"class":705},"cartId",[621,993,797],{"class":716},[621,995,996,998,1000,1002,1004,1006,1008,1010,1012,1015,1017,1019,1021,1024,1026,1029,1031,1034,1036,1038,1040,1043,1045,1047],{"class":623,"line":791},[621,997,905],{"class":705},[621,999,908],{"class":709},[621,1001,911],{"class":701},[621,1003,706],{"class":716},[621,1005,916],{"class":709},[621,1007,969],{"class":716},[621,1009,720],{"class":709},[621,1011,924],{"class":709},[621,1013,1014],{"class":716}," items",[621,1016,720],{"class":709},[621,1018,969],{"class":705},[621,1020,908],{"class":709},[621,1022,1023],{"class":705},"items",[621,1025,908],{"class":709},[621,1027,1028],{"class":705},"length",[621,1030,939],{"class":709},[621,1032,1033],{"class":716}," total",[621,1035,720],{"class":709},[621,1037,969],{"class":705},[621,1039,908],{"class":709},[621,1041,1042],{"class":705},"total",[621,1044,954],{"class":709},[621,1046,954],{"class":709},[621,1048,797],{"class":716},[621,1050,1052],{"class":623,"line":1051},9,[621,1053,900],{"emptyLinePlaceholder":899},[621,1055,1057,1059,1062,1064,1066,1069,1071,1074],{"class":623,"line":1056},10,[621,1058,858],{"class":837},[621,1060,1061],{"class":705}," payment",[621,1063,864],{"class":709},[621,1065,885],{"class":694},[621,1067,1068],{"class":701}," processPayment",[621,1070,706],{"class":716},[621,1072,1073],{"class":705},"cart",[621,1075,797],{"class":716},[621,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1098,1100,1102,1104,1107,1109,1112,1114,1116,1118,1121,1123,1125],{"class":623,"line":1078},11,[621,1080,905],{"class":705},[621,1082,908],{"class":709},[621,1084,911],{"class":701},[621,1086,706],{"class":716},[621,1088,916],{"class":709},[621,1090,1061],{"class":716},[621,1092,720],{"class":709},[621,1094,924],{"class":709},[621,1096,1097],{"class":716}," method",[621,1099,720],{"class":709},[621,1101,1061],{"class":705},[621,1103,908],{"class":709},[621,1105,1106],{"class":705},"method",[621,1108,939],{"class":709},[621,1110,1111],{"class":716}," cardLast4",[621,1113,720],{"class":709},[621,1115,1061],{"class":705},[621,1117,908],{"class":709},[621,1119,1120],{"class":705},"last4",[621,1122,954],{"class":709},[621,1124,954],{"class":709},[621,1126,797],{"class":716},[621,1128,1130],{"class":623,"line":1129},12,[621,1131,900],{"emptyLinePlaceholder":899},[621,1133,1135,1138,1140,1143,1145,1149,1151,1154,1156,1158,1160,1163],{"class":623,"line":1134},13,[621,1136,1137],{"class":694},"  return",[621,1139,924],{"class":709},[621,1141,1142],{"class":716}," success",[621,1144,720],{"class":709},[621,1146,1148],{"class":1147},"sfNiH"," true",[621,1150,939],{"class":709},[621,1152,1153],{"class":716}," orderId",[621,1155,720],{"class":709},[621,1157,1061],{"class":705},[621,1159,908],{"class":709},[621,1161,1162],{"class":705},"orderId",[621,1164,1165],{"class":709}," }\n",[621,1167,1169,1171],{"class":623,"line":1168},14,[621,1170,794],{"class":709},[621,1172,797],{"class":705},[535,1174,1175],{},"One request, one log line with all context:",[611,1177,1180],{"className":613,"code":1178,"filename":1179,"language":616,"meta":617,"style":617},"10:23:45 INFO [my-app] POST \u002Fapi\u002Fcheckout 200 in 145ms\n  ├─ user: id=usr_123 plan=enterprise\n  ├─ cart: items=3 total=14999\n  ├─ payment: method=card cardLast4=4242\n  └─ requestId: a1b2c3d4-...\n","Terminal output",[539,1181,1182,1193,1207,1227,1243],{"__ignoreMap":617},[621,1183,1184,1187,1190],{"class":623,"line":624},[621,1185,1186],{"class":627},"10:23:45",[621,1188,1189],{"class":630}," INFO",[621,1191,1192],{"class":705}," [my-app] POST \u002Fapi\u002Fcheckout 200 in 145ms\n",[621,1194,1195,1198,1201,1204],{"class":623,"line":713},[621,1196,1197],{"class":627},"  ├─",[621,1199,1200],{"class":630}," user:",[621,1202,1203],{"class":630}," id=usr_123",[621,1205,1206],{"class":630}," plan=enterprise\n",[621,1208,1209,1211,1214,1217,1221,1224],{"class":623,"line":740},[621,1210,1197],{"class":627},[621,1212,1213],{"class":630}," cart:",[621,1215,1216],{"class":630}," items=",[621,1218,1220],{"class":1219},"sbssI","3",[621,1222,1223],{"class":630}," total=",[621,1225,1226],{"class":1219},"14999\n",[621,1228,1229,1231,1234,1237,1240],{"class":623,"line":751},[621,1230,1197],{"class":627},[621,1232,1233],{"class":630}," payment:",[621,1235,1236],{"class":630}," method=card",[621,1238,1239],{"class":630}," cardLast4=",[621,1241,1242],{"class":1219},"4242\n",[621,1244,1245,1248,1251],{"class":623,"line":761},[621,1246,1247],{"class":627},"  └─",[621,1249,1250],{"class":630}," requestId:",[621,1252,1253],{"class":630}," a1b2c3d4-...\n",[599,1255,1257],{"id":1256},"error-handling","Error Handling",[535,1259,1260,1262,1263,542,1266,546,1269,1272],{},[539,1261,545],{}," produces structured errors with ",[539,1264,1265],{},"why",[539,1267,1268],{},"fix",[539,1270,1271],{},"link"," fields that help both humans and AI agents understand what went wrong.",[611,1274,1277],{"className":684,"code":1275,"filename":1276,"language":687,"meta":617,"style":617},"export default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const body = await readBody(event)\n\n  log.set({ payment: { amount: body.amount } })\n\n  if (body.amount \u003C= 0) {\n    throw createError({\n      status: 400,\n      message: 'Invalid payment amount',\n      why: 'The amount must be a positive number',\n      fix: 'Pass a positive integer in cents (e.g. 4999 for $49.99)',\n      link: 'https:\u002F\u002Fdocs.example.com\u002Fapi\u002Fpayments#amount',\n    })\n  }\n\n  return { success: true }\n})\n","server\u002Fapi\u002Fpayment\u002Fprocess.post.ts",[539,1278,1279,1301,1317,1335,1339,1375,1379,1403,1415,1427,1443,1459,1475,1491,1498,1504,1509,1524],{"__ignoreMap":617},[621,1280,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299],{"class":623,"line":624},[621,1282,695],{"class":694},[621,1284,698],{"class":694},[621,1286,832],{"class":701},[621,1288,706],{"class":705},[621,1290,838],{"class":837},[621,1292,841],{"class":709},[621,1294,845],{"class":844},[621,1296,848],{"class":709},[621,1298,851],{"class":837},[621,1300,748],{"class":709},[621,1302,1303,1305,1307,1309,1311,1313,1315],{"class":623,"line":713},[621,1304,858],{"class":837},[621,1306,861],{"class":705},[621,1308,864],{"class":709},[621,1310,867],{"class":701},[621,1312,706],{"class":716},[621,1314,845],{"class":705},[621,1316,797],{"class":716},[621,1318,1319,1321,1323,1325,1327,1329,1331,1333],{"class":623,"line":740},[621,1320,858],{"class":837},[621,1322,880],{"class":705},[621,1324,864],{"class":709},[621,1326,885],{"class":694},[621,1328,888],{"class":701},[621,1330,706],{"class":716},[621,1332,845],{"class":705},[621,1334,797],{"class":716},[621,1336,1337],{"class":623,"line":751},[621,1338,900],{"emptyLinePlaceholder":899},[621,1340,1341,1343,1345,1347,1349,1351,1353,1355,1357,1360,1362,1364,1366,1369,1371,1373],{"class":623,"line":761},[621,1342,905],{"class":705},[621,1344,908],{"class":709},[621,1346,911],{"class":701},[621,1348,706],{"class":716},[621,1350,916],{"class":709},[621,1352,1061],{"class":716},[621,1354,720],{"class":709},[621,1356,924],{"class":709},[621,1358,1359],{"class":716}," amount",[621,1361,720],{"class":709},[621,1363,880],{"class":705},[621,1365,908],{"class":709},[621,1367,1368],{"class":705},"amount",[621,1370,954],{"class":709},[621,1372,954],{"class":709},[621,1374,797],{"class":716},[621,1376,1377],{"class":623,"line":779},[621,1378,900],{"emptyLinePlaceholder":899},[621,1380,1381,1384,1386,1388,1390,1392,1395,1398,1401],{"class":623,"line":785},[621,1382,1383],{"class":694},"  if",[621,1385,841],{"class":716},[621,1387,986],{"class":705},[621,1389,908],{"class":709},[621,1391,1368],{"class":705},[621,1393,1394],{"class":709}," \u003C=",[621,1396,1397],{"class":1219}," 0",[621,1399,1400],{"class":716},") ",[621,1402,710],{"class":709},[621,1404,1405,1408,1411,1413],{"class":623,"line":791},[621,1406,1407],{"class":694},"    throw",[621,1409,1410],{"class":701}," createError",[621,1412,706],{"class":716},[621,1414,710],{"class":709},[621,1416,1417,1420,1422,1425],{"class":623,"line":1051},[621,1418,1419],{"class":716},"      status",[621,1421,720],{"class":709},[621,1423,1424],{"class":1219}," 400",[621,1426,737],{"class":709},[621,1428,1429,1432,1434,1436,1439,1441],{"class":623,"line":1056},[621,1430,1431],{"class":716},"      message",[621,1433,720],{"class":709},[621,1435,769],{"class":709},[621,1437,1438],{"class":630},"Invalid payment amount",[621,1440,726],{"class":709},[621,1442,737],{"class":709},[621,1444,1445,1448,1450,1452,1455,1457],{"class":623,"line":1078},[621,1446,1447],{"class":716},"      why",[621,1449,720],{"class":709},[621,1451,769],{"class":709},[621,1453,1454],{"class":630},"The amount must be a positive number",[621,1456,726],{"class":709},[621,1458,737],{"class":709},[621,1460,1461,1464,1466,1468,1471,1473],{"class":623,"line":1129},[621,1462,1463],{"class":716},"      fix",[621,1465,720],{"class":709},[621,1467,769],{"class":709},[621,1469,1470],{"class":630},"Pass a positive integer in cents (e.g. 4999 for $49.99)",[621,1472,726],{"class":709},[621,1474,737],{"class":709},[621,1476,1477,1480,1482,1484,1487,1489],{"class":623,"line":1134},[621,1478,1479],{"class":716},"      link",[621,1481,720],{"class":709},[621,1483,769],{"class":709},[621,1485,1486],{"class":630},"https:\u002F\u002Fdocs.example.com\u002Fapi\u002Fpayments#amount",[621,1488,726],{"class":709},[621,1490,737],{"class":709},[621,1492,1493,1496],{"class":623,"line":1168},[621,1494,1495],{"class":709},"    }",[621,1497,797],{"class":716},[621,1499,1501],{"class":623,"line":1500},15,[621,1502,1503],{"class":709},"  }\n",[621,1505,1507],{"class":623,"line":1506},16,[621,1508,900],{"emptyLinePlaceholder":899},[621,1510,1512,1514,1516,1518,1520,1522],{"class":623,"line":1511},17,[621,1513,1137],{"class":694},[621,1515,924],{"class":709},[621,1517,1142],{"class":716},[621,1519,720],{"class":709},[621,1521,1148],{"class":1147},[621,1523,1165],{"class":709},[621,1525,1527,1529],{"class":623,"line":1526},18,[621,1528,794],{"class":709},[621,1530,797],{"class":705},[1532,1533,1535,1536,1539,1540,542,1542,546,1544,1546],"callout",{"color":1534,"icon":13},"info","Nuxt's error handler automatically catches ",[539,1537,1538],{},"EvlogError"," and returns a structured JSON response with ",[539,1541,1265],{},[539,1543,1268],{},[539,1545,1271],{}," fields.",[599,1548,504],{"id":1549},"configuration",[1532,1551,1552,1553,1556,1557,542,1560,542,1563,542,1566,1569],{"color":1534,"icon":79},"See the ",[588,1554,1555],{"href":505},"Configuration reference"," for the full list of shared options (",[539,1558,1559],{},"enabled",[539,1561,1562],{},"pretty",[539,1564,1565],{},"silent",[539,1567,1568],{},"sampling",", middleware options, etc.).",[535,1571,1572,1573,1575,1576,1579],{},"All options are set in ",[539,1574,686],{}," under the ",[539,1577,1578],{},"evlog"," key:",[1581,1582,1583,1602],"table",{},[1584,1585,1586],"thead",{},[1587,1588,1589,1593,1596,1599],"tr",{},[1590,1591,1592],"th",{},"Option",[1590,1594,1595],{},"Type",[1590,1597,1598],{},"Default",[1590,1600,1601],{},"Description",[1603,1604,1605,1629,1647,1667,1684,1707,1725,1744,1762],"tbody",{},[1587,1606,1607,1612,1617,1622],{},[1608,1609,1610],"td",{},[539,1611,1559],{},[1608,1613,1614],{},[539,1615,1616],{},"boolean",[1608,1618,1619],{},[539,1620,1621],{},"true",[1608,1623,1624,1625,1628],{},"Globally enable\u002Fdisable all logging. When ",[539,1626,1627],{},"false",", all operations become no-ops",[1587,1630,1631,1636,1640,1644],{},[1608,1632,1633],{},[539,1634,1635],{},"console",[1608,1637,1638],{},[539,1639,1616],{},[1608,1641,1642],{},[539,1643,1621],{},[1608,1645,1646],{},"Enable\u002Fdisable browser console output",[1587,1648,1649,1654,1659,1664],{},[1608,1650,1651],{},[539,1652,1653],{},"env.service",[1608,1655,1656],{},[539,1657,1658],{},"string",[1608,1660,1661],{},[539,1662,1663],{},"'app'",[1608,1665,1666],{},"Service name shown in logs",[1587,1668,1669,1674,1678,1681],{},[1608,1670,1671],{},[539,1672,1673],{},"env.environment",[1608,1675,1676],{},[539,1677,1658],{},[1608,1679,1680],{},"Auto-detected",[1608,1682,1683],{},"Environment name",[1587,1685,1686,1691,1696,1701],{},[1608,1687,1688],{},[539,1689,1690],{},"include",[1608,1692,1693],{},[539,1694,1695],{},"string[]",[1608,1697,1698],{},[539,1699,1700],{},"undefined",[1608,1702,1703,1704,848],{},"Route patterns to log. Supports glob (",[539,1705,1706],{},"\u002Fapi\u002F**",[1587,1708,1709,1714,1718,1722],{},[1608,1710,1711],{},[539,1712,1713],{},"exclude",[1608,1715,1716],{},[539,1717,1695],{},[1608,1719,1720],{},[539,1721,1700],{},[1608,1723,1724],{},"Route patterns to exclude. Exclusions take precedence",[1587,1726,1727,1732,1737,1741],{},[1608,1728,1729],{},[539,1730,1731],{},"routes",[1608,1733,1734],{},[539,1735,1736],{},"Record\u003Cstring, RouteConfig>",[1608,1738,1739],{},[539,1740,1700],{},[1608,1742,1743],{},"Route-specific service configuration",[1587,1745,1746,1750,1754,1759],{},[1608,1747,1748],{},[539,1749,1562],{},[1608,1751,1752],{},[539,1753,1616],{},[1608,1755,1756,1758],{},[539,1757,1621],{}," in dev",[1608,1760,1761],{},"Pretty print with tree formatting",[1587,1763,1764,1769,1774,1780],{},[1608,1765,1766],{},[539,1767,1768],{},"dev",[1608,1770,1771],{},[539,1772,1773],{},"'evlog' | 'nitro' | 'both' | object",[1608,1775,1776,1779],{},[539,1777,1778],{},"'evlog'"," in pretty dev",[1608,1781,1782,1783,1786,1787],{},"Dev terminal presets or ",[539,1784,1785],{},"{ frameworkOverlay, prettyError }"," — see ",[588,1788,1790],{"href":1789},"\u002Freference\u002Fconfiguration#dev-terminal-output","Configuration — Dev terminal output",[1532,1792,1793,1797,1798,1800,1801,1804,1805,1808,1809,1812,1813,1816],{"color":1534,"icon":44},[1794,1795,1796],"strong",{},"Dev terminal presets:"," ",[539,1799,1778],{}," (default) — one clean signal, evlog-only stack. ",[539,1802,1803],{},"'nitro'"," — wide event context + Nitro Youch stack (evlog prints Why\u002FFix only). ",[539,1806,1807],{},"'both'"," — full evlog block and Nitro overlay. With ",[539,1810,1811],{},"pretty: false",", set ",[539,1814,1815],{},"dev: { frameworkOverlay: false }"," to suppress Nitro while logging JSON.",[535,1818,1819,1820,1822,1823,1822,1825,1827,1828,1822,1831,1822,1834,1836,1837,1822,1840,1822,1843,1845,1846,1822,1849,1822,1851,1853,1854,1822,1857,1822,1859,1862],{},"| ",[539,1821,1565],{}," | ",[539,1824,1616],{},[539,1826,1627],{}," | Suppress console output. Events are still built, sampled, and drained. Use for stdout-based platforms |\n| ",[539,1829,1830],{},"sampling.rates",[539,1832,1833],{},"object",[539,1835,1700],{}," | Head sampling rates per log level (0-100%) |\n| ",[539,1838,1839],{},"sampling.keep",[539,1841,1842],{},"array",[539,1844,1700],{}," | Tail sampling conditions to force-keep logs |\n| ",[539,1847,1848],{},"transport.enabled",[539,1850,1616],{},[539,1852,1627],{}," | Enable client-to-server log transport |\n| ",[539,1855,1856],{},"transport.endpoint",[539,1858,1658],{},[539,1860,1861],{},"'\u002Fapi\u002F_evlog\u002Fingest'"," | Transport endpoint |",[599,1864,1866],{"id":1865},"route-filtering","Route Filtering",[535,1868,1869,1870,1872,1873,1875],{},"Use ",[539,1871,1690],{}," and ",[539,1874,1713],{}," to control which routes are logged:",[611,1877,1879],{"className":684,"code":1878,"filename":686,"language":687,"meta":617,"style":617},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    include: ['\u002Fapi\u002F**', '\u002Fauth\u002F**'],\n    exclude: [\n      '\u002Fapi\u002F_nuxt_icon\u002F**',\n      '\u002Fapi\u002F_content\u002F**',\n      '\u002Fapi\u002Fhealth',\n    ],\n  },\n})\n",[539,1880,1881,1893,1911,1919,1947,1957,1969,1980,1991,1998,2002],{"__ignoreMap":617},[621,1882,1883,1885,1887,1889,1891],{"class":623,"line":624},[621,1884,695],{"class":694},[621,1886,698],{"class":694},[621,1888,702],{"class":701},[621,1890,706],{"class":705},[621,1892,710],{"class":709},[621,1894,1895,1897,1899,1901,1903,1905,1907,1909],{"class":623,"line":713},[621,1896,717],{"class":716},[621,1898,720],{"class":709},[621,1900,723],{"class":705},[621,1902,726],{"class":709},[621,1904,729],{"class":630},[621,1906,726],{"class":709},[621,1908,734],{"class":705},[621,1910,737],{"class":709},[621,1912,1913,1915,1917],{"class":623,"line":740},[621,1914,743],{"class":716},[621,1916,720],{"class":709},[621,1918,748],{"class":709},[621,1920,1921,1924,1926,1928,1930,1932,1934,1936,1938,1941,1943,1945],{"class":623,"line":751},[621,1922,1923],{"class":716},"    include",[621,1925,720],{"class":709},[621,1927,723],{"class":705},[621,1929,726],{"class":709},[621,1931,1706],{"class":630},[621,1933,726],{"class":709},[621,1935,939],{"class":709},[621,1937,769],{"class":709},[621,1939,1940],{"class":630},"\u002Fauth\u002F**",[621,1942,726],{"class":709},[621,1944,734],{"class":705},[621,1946,737],{"class":709},[621,1948,1949,1952,1954],{"class":623,"line":761},[621,1950,1951],{"class":716},"    exclude",[621,1953,720],{"class":709},[621,1955,1956],{"class":705}," [\n",[621,1958,1959,1962,1965,1967],{"class":623,"line":779},[621,1960,1961],{"class":709},"      '",[621,1963,1964],{"class":630},"\u002Fapi\u002F_nuxt_icon\u002F**",[621,1966,726],{"class":709},[621,1968,737],{"class":709},[621,1970,1971,1973,1976,1978],{"class":623,"line":785},[621,1972,1961],{"class":709},[621,1974,1975],{"class":630},"\u002Fapi\u002F_content\u002F**",[621,1977,726],{"class":709},[621,1979,737],{"class":709},[621,1981,1982,1984,1987,1989],{"class":623,"line":791},[621,1983,1961],{"class":709},[621,1985,1986],{"class":630},"\u002Fapi\u002Fhealth",[621,1988,726],{"class":709},[621,1990,737],{"class":709},[621,1992,1993,1996],{"class":623,"line":1051},[621,1994,1995],{"class":705},"    ]",[621,1997,737],{"class":709},[621,1999,2000],{"class":623,"line":1056},[621,2001,788],{"class":709},[621,2003,2004,2006],{"class":623,"line":1078},[621,2005,794],{"class":709},[621,2007,797],{"class":705},[1532,2009,2012,2015,2016,1872,2018,2020],{"color":2010,"icon":2011},"warning","i-lucide-alert-triangle",[1794,2013,2014],{},"Exclusions take precedence."," If a path matches both ",[539,2017,1690],{},[539,2019,1713],{},", it will be excluded.",[603,2022,2024],{"id":2023},"route-based-service-names","Route-Based Service Names",[535,2026,2027],{},"Assign different service names to different route groups:",[611,2029,2031],{"className":684,"code":2030,"filename":686,"language":687,"meta":617,"style":617},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    env: { service: 'default-service' },\n    routes: {\n      '\u002Fapi\u002Fauth\u002F**': { service: 'auth-service' },\n      '\u002Fapi\u002Fpayment\u002F**': { service: 'payment-service' },\n      '\u002Fapi\u002Fbooking\u002F**': { service: 'booking-service' },\n    },\n  },\n})\n",[539,2032,2033,2045,2063,2071,2094,2103,2129,2155,2181,2185,2189],{"__ignoreMap":617},[621,2034,2035,2037,2039,2041,2043],{"class":623,"line":624},[621,2036,695],{"class":694},[621,2038,698],{"class":694},[621,2040,702],{"class":701},[621,2042,706],{"class":705},[621,2044,710],{"class":709},[621,2046,2047,2049,2051,2053,2055,2057,2059,2061],{"class":623,"line":713},[621,2048,717],{"class":716},[621,2050,720],{"class":709},[621,2052,723],{"class":705},[621,2054,726],{"class":709},[621,2056,729],{"class":630},[621,2058,726],{"class":709},[621,2060,734],{"class":705},[621,2062,737],{"class":709},[621,2064,2065,2067,2069],{"class":623,"line":740},[621,2066,743],{"class":716},[621,2068,720],{"class":709},[621,2070,748],{"class":709},[621,2072,2073,2075,2077,2079,2082,2084,2086,2089,2091],{"class":623,"line":751},[621,2074,754],{"class":716},[621,2076,720],{"class":709},[621,2078,924],{"class":709},[621,2080,2081],{"class":716}," service",[621,2083,720],{"class":709},[621,2085,769],{"class":709},[621,2087,2088],{"class":630},"default-service",[621,2090,726],{"class":709},[621,2092,2093],{"class":709}," },\n",[621,2095,2096,2099,2101],{"class":623,"line":761},[621,2097,2098],{"class":716},"    routes",[621,2100,720],{"class":709},[621,2102,748],{"class":709},[621,2104,2105,2107,2110,2112,2114,2116,2118,2120,2122,2125,2127],{"class":623,"line":779},[621,2106,1961],{"class":709},[621,2108,2109],{"class":716},"\u002Fapi\u002Fauth\u002F**",[621,2111,726],{"class":709},[621,2113,720],{"class":709},[621,2115,924],{"class":709},[621,2117,2081],{"class":716},[621,2119,720],{"class":709},[621,2121,769],{"class":709},[621,2123,2124],{"class":630},"auth-service",[621,2126,726],{"class":709},[621,2128,2093],{"class":709},[621,2130,2131,2133,2136,2138,2140,2142,2144,2146,2148,2151,2153],{"class":623,"line":785},[621,2132,1961],{"class":709},[621,2134,2135],{"class":716},"\u002Fapi\u002Fpayment\u002F**",[621,2137,726],{"class":709},[621,2139,720],{"class":709},[621,2141,924],{"class":709},[621,2143,2081],{"class":716},[621,2145,720],{"class":709},[621,2147,769],{"class":709},[621,2149,2150],{"class":630},"payment-service",[621,2152,726],{"class":709},[621,2154,2093],{"class":709},[621,2156,2157,2159,2162,2164,2166,2168,2170,2172,2174,2177,2179],{"class":623,"line":791},[621,2158,1961],{"class":709},[621,2160,2161],{"class":716},"\u002Fapi\u002Fbooking\u002F**",[621,2163,726],{"class":709},[621,2165,720],{"class":709},[621,2167,924],{"class":709},[621,2169,2081],{"class":716},[621,2171,720],{"class":709},[621,2173,769],{"class":709},[621,2175,2176],{"class":630},"booking-service",[621,2178,726],{"class":709},[621,2180,2093],{"class":709},[621,2182,2183],{"class":623,"line":1051},[621,2184,782],{"class":709},[621,2186,2187],{"class":623,"line":1056},[621,2188,788],{"class":709},[621,2190,2191,2193],{"class":623,"line":1078},[621,2192,794],{"class":709},[621,2194,797],{"class":705},[599,2196,2198],{"id":2197},"drain-enrichers","Drain & Enrichers",[535,2200,2201],{},"Use Nitro plugin hooks to send logs to external services and enrich them with additional context.",[603,2203,2205],{"id":2204},"drain-plugin","Drain Plugin",[611,2207,2210],{"className":684,"code":2208,"filename":2209,"language":687,"meta":617,"style":617},"import type { DrainContext } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\nimport { createDrainPipeline } from 'evlog\u002Fpipeline'\n\nconst pipeline = createDrainPipeline\u003CDrainContext>({\n  batch: { size: 50, intervalMs: 5000 },\n  retry: { maxAttempts: 3 },\n})\nconst drain = pipeline(createAxiomDrain())\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', drain)\n})\n","server\u002Fplugins\u002Fevlog-drain.ts",[539,2211,2212,2237,2257,2277,2281,2307,2336,2355,2361,2381,2385,2407,2438],{"__ignoreMap":617},[621,2213,2214,2217,2220,2222,2225,2227,2230,2232,2234],{"class":623,"line":624},[621,2215,2216],{"class":694},"import",[621,2218,2219],{"class":694}," type",[621,2221,924],{"class":709},[621,2223,2224],{"class":705}," DrainContext",[621,2226,954],{"class":709},[621,2228,2229],{"class":694}," from",[621,2231,769],{"class":709},[621,2233,1578],{"class":630},[621,2235,2236],{"class":709},"'\n",[621,2238,2239,2241,2243,2246,2248,2250,2252,2255],{"class":623,"line":713},[621,2240,2216],{"class":694},[621,2242,924],{"class":709},[621,2244,2245],{"class":705}," createAxiomDrain",[621,2247,954],{"class":709},[621,2249,2229],{"class":694},[621,2251,769],{"class":709},[621,2253,2254],{"class":630},"evlog\u002Faxiom",[621,2256,2236],{"class":709},[621,2258,2259,2261,2263,2266,2268,2270,2272,2275],{"class":623,"line":740},[621,2260,2216],{"class":694},[621,2262,924],{"class":709},[621,2264,2265],{"class":705}," createDrainPipeline",[621,2267,954],{"class":709},[621,2269,2229],{"class":694},[621,2271,769],{"class":709},[621,2273,2274],{"class":630},"evlog\u002Fpipeline",[621,2276,2236],{"class":709},[621,2278,2279],{"class":623,"line":751},[621,2280,900],{"emptyLinePlaceholder":899},[621,2282,2283,2286,2289,2292,2294,2297,2300,2303,2305],{"class":623,"line":761},[621,2284,2285],{"class":837},"const",[621,2287,2288],{"class":705}," pipeline ",[621,2290,2291],{"class":709},"=",[621,2293,2265],{"class":701},[621,2295,2296],{"class":709},"\u003C",[621,2298,2299],{"class":627},"DrainContext",[621,2301,2302],{"class":709},">",[621,2304,706],{"class":705},[621,2306,710],{"class":709},[621,2308,2309,2312,2314,2316,2319,2321,2324,2326,2329,2331,2334],{"class":623,"line":779},[621,2310,2311],{"class":716},"  batch",[621,2313,720],{"class":709},[621,2315,924],{"class":709},[621,2317,2318],{"class":716}," size",[621,2320,720],{"class":709},[621,2322,2323],{"class":1219}," 50",[621,2325,939],{"class":709},[621,2327,2328],{"class":716}," intervalMs",[621,2330,720],{"class":709},[621,2332,2333],{"class":1219}," 5000",[621,2335,2093],{"class":709},[621,2337,2338,2341,2343,2345,2348,2350,2353],{"class":623,"line":785},[621,2339,2340],{"class":716},"  retry",[621,2342,720],{"class":709},[621,2344,924],{"class":709},[621,2346,2347],{"class":716}," maxAttempts",[621,2349,720],{"class":709},[621,2351,2352],{"class":1219}," 3",[621,2354,2093],{"class":709},[621,2356,2357,2359],{"class":623,"line":791},[621,2358,794],{"class":709},[621,2360,797],{"class":705},[621,2362,2363,2365,2368,2370,2373,2375,2378],{"class":623,"line":1051},[621,2364,2285],{"class":837},[621,2366,2367],{"class":705}," drain ",[621,2369,2291],{"class":709},[621,2371,2372],{"class":701}," pipeline",[621,2374,706],{"class":705},[621,2376,2377],{"class":701},"createAxiomDrain",[621,2379,2380],{"class":705},"())\n",[621,2382,2383],{"class":623,"line":1056},[621,2384,900],{"emptyLinePlaceholder":899},[621,2386,2387,2389,2391,2394,2396,2398,2401,2403,2405],{"class":623,"line":1078},[621,2388,695],{"class":694},[621,2390,698],{"class":694},[621,2392,2393],{"class":701}," defineNitroPlugin",[621,2395,706],{"class":705},[621,2397,706],{"class":709},[621,2399,2400],{"class":844},"nitroApp",[621,2402,848],{"class":709},[621,2404,851],{"class":837},[621,2406,748],{"class":709},[621,2408,2409,2412,2414,2417,2419,2422,2424,2426,2429,2431,2433,2436],{"class":623,"line":1129},[621,2410,2411],{"class":705},"  nitroApp",[621,2413,908],{"class":709},[621,2415,2416],{"class":705},"hooks",[621,2418,908],{"class":709},[621,2420,2421],{"class":701},"hook",[621,2423,706],{"class":716},[621,2425,726],{"class":709},[621,2427,2428],{"class":630},"evlog:drain",[621,2430,726],{"class":709},[621,2432,939],{"class":709},[621,2434,2435],{"class":705}," drain",[621,2437,797],{"class":716},[621,2439,2440,2442],{"class":623,"line":1134},[621,2441,794],{"class":709},[621,2443,797],{"class":705},[603,2445,2447],{"id":2446},"enricher-plugin","Enricher Plugin",[611,2449,2452],{"className":684,"code":2450,"filename":2451,"language":687,"meta":617,"style":617},"import {\n  createUserAgentEnricher,\n  createGeoEnricher,\n  createRequestSizeEnricher,\n  createTraceContextEnricher,\n} from 'evlog\u002Fenrichers'\n\nconst enrichers = [\n  createUserAgentEnricher(),\n  createGeoEnricher(),\n  createRequestSizeEnricher(),\n  createTraceContextEnricher(),\n]\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:enrich', (ctx) => {\n    for (const enricher of enrichers) enricher(ctx)\n  })\n})\n","server\u002Fplugins\u002Fevlog-enrich.ts",[539,2453,2454,2460,2467,2474,2481,2488,2501,2505,2516,2525,2533,2541,2549,2554,2558,2578,2612,2641,2648],{"__ignoreMap":617},[621,2455,2456,2458],{"class":623,"line":624},[621,2457,2216],{"class":694},[621,2459,748],{"class":709},[621,2461,2462,2465],{"class":623,"line":713},[621,2463,2464],{"class":705},"  createUserAgentEnricher",[621,2466,737],{"class":709},[621,2468,2469,2472],{"class":623,"line":740},[621,2470,2471],{"class":705},"  createGeoEnricher",[621,2473,737],{"class":709},[621,2475,2476,2479],{"class":623,"line":751},[621,2477,2478],{"class":705},"  createRequestSizeEnricher",[621,2480,737],{"class":709},[621,2482,2483,2486],{"class":623,"line":761},[621,2484,2485],{"class":705},"  createTraceContextEnricher",[621,2487,737],{"class":709},[621,2489,2490,2492,2494,2496,2499],{"class":623,"line":779},[621,2491,794],{"class":709},[621,2493,2229],{"class":694},[621,2495,769],{"class":709},[621,2497,2498],{"class":630},"evlog\u002Fenrichers",[621,2500,2236],{"class":709},[621,2502,2503],{"class":623,"line":785},[621,2504,900],{"emptyLinePlaceholder":899},[621,2506,2507,2509,2512,2514],{"class":623,"line":791},[621,2508,2285],{"class":837},[621,2510,2511],{"class":705}," enrichers ",[621,2513,2291],{"class":709},[621,2515,1956],{"class":705},[621,2517,2518,2520,2523],{"class":623,"line":1051},[621,2519,2464],{"class":701},[621,2521,2522],{"class":705},"()",[621,2524,737],{"class":709},[621,2526,2527,2529,2531],{"class":623,"line":1056},[621,2528,2471],{"class":701},[621,2530,2522],{"class":705},[621,2532,737],{"class":709},[621,2534,2535,2537,2539],{"class":623,"line":1078},[621,2536,2478],{"class":701},[621,2538,2522],{"class":705},[621,2540,737],{"class":709},[621,2542,2543,2545,2547],{"class":623,"line":1129},[621,2544,2485],{"class":701},[621,2546,2522],{"class":705},[621,2548,737],{"class":709},[621,2550,2551],{"class":623,"line":1134},[621,2552,2553],{"class":705},"]\n",[621,2555,2556],{"class":623,"line":1168},[621,2557,900],{"emptyLinePlaceholder":899},[621,2559,2560,2562,2564,2566,2568,2570,2572,2574,2576],{"class":623,"line":1500},[621,2561,695],{"class":694},[621,2563,698],{"class":694},[621,2565,2393],{"class":701},[621,2567,706],{"class":705},[621,2569,706],{"class":709},[621,2571,2400],{"class":844},[621,2573,848],{"class":709},[621,2575,851],{"class":837},[621,2577,748],{"class":709},[621,2579,2580,2582,2584,2586,2588,2590,2592,2594,2597,2599,2601,2603,2606,2608,2610],{"class":623,"line":1506},[621,2581,2411],{"class":705},[621,2583,908],{"class":709},[621,2585,2416],{"class":705},[621,2587,908],{"class":709},[621,2589,2421],{"class":701},[621,2591,706],{"class":716},[621,2593,726],{"class":709},[621,2595,2596],{"class":630},"evlog:enrich",[621,2598,726],{"class":709},[621,2600,939],{"class":709},[621,2602,841],{"class":709},[621,2604,2605],{"class":844},"ctx",[621,2607,848],{"class":709},[621,2609,851],{"class":837},[621,2611,748],{"class":709},[621,2613,2614,2617,2619,2621,2624,2627,2630,2632,2635,2637,2639],{"class":623,"line":1511},[621,2615,2616],{"class":694},"    for",[621,2618,841],{"class":716},[621,2620,2285],{"class":837},[621,2622,2623],{"class":705}," enricher",[621,2625,2626],{"class":709}," of",[621,2628,2629],{"class":705}," enrichers",[621,2631,1400],{"class":716},[621,2633,2634],{"class":701},"enricher",[621,2636,706],{"class":716},[621,2638,2605],{"class":705},[621,2640,797],{"class":716},[621,2642,2643,2646],{"class":623,"line":1526},[621,2644,2645],{"class":709},"  }",[621,2647,797],{"class":716},[621,2649,2651,2653],{"class":623,"line":2650},19,[621,2652,794],{"class":709},[621,2654,797],{"class":705},[1532,2656,1552,2659,1872,2661,2663],{"color":2657,"icon":2658},"neutral","i-lucide-arrow-right",[588,2660,138],{"href":143},[588,2662,431],{"href":432}," docs for the full list of available drains and enrichers.",[599,2665,61],{"id":1568},[603,2667,2669],{"id":2668},"head-sampling","Head Sampling",[535,2671,2672],{},"Randomly keep a percentage of logs per level. Runs before the request completes.",[611,2674,2676],{"className":684,"code":2675,"filename":686,"language":687,"meta":617,"style":617},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    sampling: {\n      rates: {\n        info: 10,\n        warn: 50,\n        debug: 5,\n        error: 100,\n      },\n    },\n  },\n})\n",[539,2677,2678,2690,2708,2716,2725,2734,2746,2757,2769,2781,2786,2790,2794],{"__ignoreMap":617},[621,2679,2680,2682,2684,2686,2688],{"class":623,"line":624},[621,2681,695],{"class":694},[621,2683,698],{"class":694},[621,2685,702],{"class":701},[621,2687,706],{"class":705},[621,2689,710],{"class":709},[621,2691,2692,2694,2696,2698,2700,2702,2704,2706],{"class":623,"line":713},[621,2693,717],{"class":716},[621,2695,720],{"class":709},[621,2697,723],{"class":705},[621,2699,726],{"class":709},[621,2701,729],{"class":630},[621,2703,726],{"class":709},[621,2705,734],{"class":705},[621,2707,737],{"class":709},[621,2709,2710,2712,2714],{"class":623,"line":740},[621,2711,743],{"class":716},[621,2713,720],{"class":709},[621,2715,748],{"class":709},[621,2717,2718,2721,2723],{"class":623,"line":751},[621,2719,2720],{"class":716},"    sampling",[621,2722,720],{"class":709},[621,2724,748],{"class":709},[621,2726,2727,2730,2732],{"class":623,"line":761},[621,2728,2729],{"class":716},"      rates",[621,2731,720],{"class":709},[621,2733,748],{"class":709},[621,2735,2736,2739,2741,2744],{"class":623,"line":779},[621,2737,2738],{"class":716},"        info",[621,2740,720],{"class":709},[621,2742,2743],{"class":1219}," 10",[621,2745,737],{"class":709},[621,2747,2748,2751,2753,2755],{"class":623,"line":785},[621,2749,2750],{"class":716},"        warn",[621,2752,720],{"class":709},[621,2754,2323],{"class":1219},[621,2756,737],{"class":709},[621,2758,2759,2762,2764,2767],{"class":623,"line":791},[621,2760,2761],{"class":716},"        debug",[621,2763,720],{"class":709},[621,2765,2766],{"class":1219}," 5",[621,2768,737],{"class":709},[621,2770,2771,2774,2776,2779],{"class":623,"line":1051},[621,2772,2773],{"class":716},"        error",[621,2775,720],{"class":709},[621,2777,2778],{"class":1219}," 100",[621,2780,737],{"class":709},[621,2782,2783],{"class":623,"line":1056},[621,2784,2785],{"class":709},"      },\n",[621,2787,2788],{"class":623,"line":1078},[621,2789,782],{"class":709},[621,2791,2792],{"class":623,"line":1129},[621,2793,788],{"class":709},[621,2795,2796,2798],{"class":623,"line":1134},[621,2797,794],{"class":709},[621,2799,797],{"class":705},[535,2801,2802],{},"Each level is a percentage from 0 to 100. Levels you don't configure default to 100% (keep everything). Error defaults to 100% even when other levels are configured.",[603,2804,2806],{"id":2805},"tail-sampling","Tail Sampling",[535,2808,2809],{},"Evaluate after the request completes and force-keep logs that match specific conditions, regardless of head sampling.",[611,2811,2813],{"className":684,"code":2812,"filename":686,"language":687,"meta":617,"style":617},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    sampling: {\n      rates: { info: 10 },\n      keep: [\n        { duration: 1000 },\n        { status: 400 },\n        { path: '\u002Fapi\u002Fcritical\u002F**' },\n      ],\n    },\n  },\n})\n",[539,2814,2815,2827,2845,2853,2861,2878,2887,2902,2915,2933,2940,2944,2948],{"__ignoreMap":617},[621,2816,2817,2819,2821,2823,2825],{"class":623,"line":624},[621,2818,695],{"class":694},[621,2820,698],{"class":694},[621,2822,702],{"class":701},[621,2824,706],{"class":705},[621,2826,710],{"class":709},[621,2828,2829,2831,2833,2835,2837,2839,2841,2843],{"class":623,"line":713},[621,2830,717],{"class":716},[621,2832,720],{"class":709},[621,2834,723],{"class":705},[621,2836,726],{"class":709},[621,2838,729],{"class":630},[621,2840,726],{"class":709},[621,2842,734],{"class":705},[621,2844,737],{"class":709},[621,2846,2847,2849,2851],{"class":623,"line":740},[621,2848,743],{"class":716},[621,2850,720],{"class":709},[621,2852,748],{"class":709},[621,2854,2855,2857,2859],{"class":623,"line":751},[621,2856,2720],{"class":716},[621,2858,720],{"class":709},[621,2860,748],{"class":709},[621,2862,2863,2865,2867,2869,2872,2874,2876],{"class":623,"line":761},[621,2864,2729],{"class":716},[621,2866,720],{"class":709},[621,2868,924],{"class":709},[621,2870,2871],{"class":716}," info",[621,2873,720],{"class":709},[621,2875,2743],{"class":1219},[621,2877,2093],{"class":709},[621,2879,2880,2883,2885],{"class":623,"line":779},[621,2881,2882],{"class":716},"      keep",[621,2884,720],{"class":709},[621,2886,1956],{"class":705},[621,2888,2889,2892,2895,2897,2900],{"class":623,"line":785},[621,2890,2891],{"class":709},"        {",[621,2893,2894],{"class":716}," duration",[621,2896,720],{"class":709},[621,2898,2899],{"class":1219}," 1000",[621,2901,2093],{"class":709},[621,2903,2904,2906,2909,2911,2913],{"class":623,"line":791},[621,2905,2891],{"class":709},[621,2907,2908],{"class":716}," status",[621,2910,720],{"class":709},[621,2912,1424],{"class":1219},[621,2914,2093],{"class":709},[621,2916,2917,2919,2922,2924,2926,2929,2931],{"class":623,"line":1051},[621,2918,2891],{"class":709},[621,2920,2921],{"class":716}," path",[621,2923,720],{"class":709},[621,2925,769],{"class":709},[621,2927,2928],{"class":630},"\u002Fapi\u002Fcritical\u002F**",[621,2930,726],{"class":709},[621,2932,2093],{"class":709},[621,2934,2935,2938],{"class":623,"line":1056},[621,2936,2937],{"class":705},"      ]",[621,2939,737],{"class":709},[621,2941,2942],{"class":623,"line":1078},[621,2943,782],{"class":709},[621,2945,2946],{"class":623,"line":1129},[621,2947,788],{"class":709},[621,2949,2950,2952],{"class":623,"line":1134},[621,2951,794],{"class":709},[621,2953,797],{"class":705},[603,2955,2957],{"id":2956},"custom-tail-sampling","Custom Tail Sampling",[535,2959,2960,2961,2964],{},"For conditions beyond status, duration, and path, use the ",[539,2962,2963],{},"evlog:emit:keep"," hook:",[611,2966,2969],{"className":684,"code":2967,"filename":2968,"language":687,"meta":617,"style":617},"export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:emit:keep', (ctx) => {\n    const user = ctx.context.user as { premium?: boolean } | undefined\n    if (user?.premium) {\n      ctx.shouldKeep = true\n    }\n  })\n})\n","server\u002Fplugins\u002Fevlog-sampling.ts",[539,2970,2971,2991,3023,3067,3086,3101,3106,3112],{"__ignoreMap":617},[621,2972,2973,2975,2977,2979,2981,2983,2985,2987,2989],{"class":623,"line":624},[621,2974,695],{"class":694},[621,2976,698],{"class":694},[621,2978,2393],{"class":701},[621,2980,706],{"class":705},[621,2982,706],{"class":709},[621,2984,2400],{"class":844},[621,2986,848],{"class":709},[621,2988,851],{"class":837},[621,2990,748],{"class":709},[621,2992,2993,2995,2997,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021],{"class":623,"line":713},[621,2994,2411],{"class":705},[621,2996,908],{"class":709},[621,2998,2416],{"class":705},[621,3000,908],{"class":709},[621,3002,2421],{"class":701},[621,3004,706],{"class":716},[621,3006,726],{"class":709},[621,3008,2963],{"class":630},[621,3010,726],{"class":709},[621,3012,939],{"class":709},[621,3014,841],{"class":709},[621,3016,2605],{"class":844},[621,3018,848],{"class":709},[621,3020,851],{"class":837},[621,3022,748],{"class":709},[621,3024,3025,3028,3030,3032,3035,3037,3040,3042,3045,3048,3050,3053,3056,3059,3061,3064],{"class":623,"line":740},[621,3026,3027],{"class":837},"    const",[621,3029,919],{"class":705},[621,3031,864],{"class":709},[621,3033,3034],{"class":705}," ctx",[621,3036,908],{"class":709},[621,3038,3039],{"class":705},"context",[621,3041,908],{"class":709},[621,3043,3044],{"class":705},"user",[621,3046,3047],{"class":694}," as",[621,3049,924],{"class":709},[621,3051,3052],{"class":716}," premium",[621,3054,3055],{"class":709},"?:",[621,3057,3058],{"class":627}," boolean",[621,3060,954],{"class":709},[621,3062,3063],{"class":709}," |",[621,3065,3066],{"class":627}," undefined\n",[621,3068,3069,3072,3074,3076,3079,3082,3084],{"class":623,"line":751},[621,3070,3071],{"class":694},"    if",[621,3073,841],{"class":716},[621,3075,3044],{"class":705},[621,3077,3078],{"class":709},"?.",[621,3080,3081],{"class":705},"premium",[621,3083,1400],{"class":716},[621,3085,710],{"class":709},[621,3087,3088,3091,3093,3096,3098],{"class":623,"line":761},[621,3089,3090],{"class":705},"      ctx",[621,3092,908],{"class":709},[621,3094,3095],{"class":705},"shouldKeep",[621,3097,864],{"class":709},[621,3099,3100],{"class":1147}," true\n",[621,3102,3103],{"class":623,"line":779},[621,3104,3105],{"class":709},"    }\n",[621,3107,3108,3110],{"class":623,"line":785},[621,3109,2645],{"class":709},[621,3111,797],{"class":716},[621,3113,3114,3116],{"class":623,"line":791},[621,3115,794],{"class":709},[621,3117,797],{"class":705},[1532,3119,3120,3121,3124],{"color":1534,"icon":13},"Errors are always kept by default. You have to explicitly set ",[539,3122,3123],{},"error: 0"," to drop them.",[599,3126,3128],{"id":3127},"client-transport","Client Transport",[535,3130,3131],{},"Send browser logs to your server for processing and draining alongside server-side events.",[611,3133,3135],{"className":684,"code":3134,"filename":686,"language":687,"meta":617,"style":617},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    transport: {\n      enabled: true,\n      endpoint: '\u002Fapi\u002F_evlog\u002Fingest',\n    },\n  },\n})\n",[539,3136,3137,3149,3167,3175,3184,3195,3211,3215,3219],{"__ignoreMap":617},[621,3138,3139,3141,3143,3145,3147],{"class":623,"line":624},[621,3140,695],{"class":694},[621,3142,698],{"class":694},[621,3144,702],{"class":701},[621,3146,706],{"class":705},[621,3148,710],{"class":709},[621,3150,3151,3153,3155,3157,3159,3161,3163,3165],{"class":623,"line":713},[621,3152,717],{"class":716},[621,3154,720],{"class":709},[621,3156,723],{"class":705},[621,3158,726],{"class":709},[621,3160,729],{"class":630},[621,3162,726],{"class":709},[621,3164,734],{"class":705},[621,3166,737],{"class":709},[621,3168,3169,3171,3173],{"class":623,"line":740},[621,3170,743],{"class":716},[621,3172,720],{"class":709},[621,3174,748],{"class":709},[621,3176,3177,3180,3182],{"class":623,"line":751},[621,3178,3179],{"class":716},"    transport",[621,3181,720],{"class":709},[621,3183,748],{"class":709},[621,3185,3186,3189,3191,3193],{"class":623,"line":761},[621,3187,3188],{"class":716},"      enabled",[621,3190,720],{"class":709},[621,3192,1148],{"class":1147},[621,3194,737],{"class":709},[621,3196,3197,3200,3202,3204,3207,3209],{"class":623,"line":779},[621,3198,3199],{"class":716},"      endpoint",[621,3201,720],{"class":709},[621,3203,769],{"class":709},[621,3205,3206],{"class":630},"\u002Fapi\u002F_evlog\u002Fingest",[621,3208,726],{"class":709},[621,3210,737],{"class":709},[621,3212,3213],{"class":623,"line":785},[621,3214,782],{"class":709},[621,3216,3217],{"class":623,"line":791},[621,3218,788],{"class":709},[621,3220,3221,3223],{"class":623,"line":1051},[621,3222,794],{"class":709},[621,3224,797],{"class":705},[603,3226,3228],{"id":3227},"how-it-works","How It Works",[3230,3231,3232,3238,3244,3247,3255],"ol",{},[563,3233,3234,3235],{},"Client calls ",[539,3236,3237],{},"log.info({ action: 'click', button: 'submit' })",[563,3239,3240,3241,3243],{},"Log is sent to ",[539,3242,3206],{}," via POST",[563,3245,3246],{},"Server enriches with environment context",[563,3248,3249,3251,3252],{},[539,3250,2428],{}," hook is called with ",[539,3253,3254],{},"source: 'client'",[563,3256,3257],{},"External services receive the log",[603,3259,3261],{"id":3260},"client-identity","Client Identity",[535,3263,3264,3265,720],{},"Attach user context to every client log with ",[539,3266,3267],{},"setIdentity",[611,3269,3272],{"className":684,"code":3270,"filename":3271,"language":687,"meta":617,"style":617},"\u002F\u002F After login\nsetIdentity({ userId: 'usr_123', orgId: 'org_456' })\n\nlog.info({ action: 'checkout' })\n\u002F\u002F -> { userId: 'usr_123', orgId: 'org_456', action: 'checkout', ... }\n\n\u002F\u002F After logout\nclearIdentity()\n","Nuxt (auto-imported)",[539,3273,3274,3280,3318,3322,3351,3356,3360,3365],{"__ignoreMap":617},[621,3275,3276],{"class":623,"line":624},[621,3277,3279],{"class":3278},"sHwdD","\u002F\u002F After login\n",[621,3281,3282,3284,3286,3288,3291,3293,3295,3298,3300,3302,3305,3307,3309,3312,3314,3316],{"class":623,"line":713},[621,3283,3267],{"class":701},[621,3285,706],{"class":705},[621,3287,916],{"class":709},[621,3289,3290],{"class":716}," userId",[621,3292,720],{"class":709},[621,3294,769],{"class":709},[621,3296,3297],{"class":630},"usr_123",[621,3299,726],{"class":709},[621,3301,939],{"class":709},[621,3303,3304],{"class":716}," orgId",[621,3306,720],{"class":709},[621,3308,769],{"class":709},[621,3310,3311],{"class":630},"org_456",[621,3313,726],{"class":709},[621,3315,954],{"class":709},[621,3317,797],{"class":705},[621,3319,3320],{"class":623,"line":740},[621,3321,900],{"emptyLinePlaceholder":899},[621,3323,3324,3327,3329,3331,3333,3335,3338,3340,3342,3345,3347,3349],{"class":623,"line":751},[621,3325,3326],{"class":705},"log",[621,3328,908],{"class":709},[621,3330,1534],{"class":701},[621,3332,706],{"class":705},[621,3334,916],{"class":709},[621,3336,3337],{"class":716}," action",[621,3339,720],{"class":709},[621,3341,769],{"class":709},[621,3343,3344],{"class":630},"checkout",[621,3346,726],{"class":709},[621,3348,954],{"class":709},[621,3350,797],{"class":705},[621,3352,3353],{"class":623,"line":761},[621,3354,3355],{"class":3278},"\u002F\u002F -> { userId: 'usr_123', orgId: 'org_456', action: 'checkout', ... }\n",[621,3357,3358],{"class":623,"line":779},[621,3359,900],{"emptyLinePlaceholder":899},[621,3361,3362],{"class":623,"line":785},[621,3363,3364],{"class":3278},"\u002F\u002F After logout\n",[621,3366,3367,3370],{"class":623,"line":791},[621,3368,3369],{"class":701},"clearIdentity",[621,3371,3372],{"class":705},"()\n",[603,3374,3376],{"id":3375},"syncing-identity-with-auth","Syncing Identity with Auth",[535,3378,3379],{},"Use a route middleware to keep identity in sync with your auth state:",[611,3381,3384],{"className":684,"code":3382,"filename":3383,"language":687,"meta":617,"style":617},"export default defineNuxtRouteMiddleware(() => {\n  const { user } = useAuth()\n\n  if (user.value) {\n    setIdentity({ userId: user.value.id, email: user.value.email })\n  } else {\n    clearIdentity()\n  }\n})\n","middleware\u002Fidentity.global.ts",[539,3385,3386,3403,3420,3424,3441,3487,3496,3503,3507],{"__ignoreMap":617},[621,3387,3388,3390,3392,3395,3397,3399,3401],{"class":623,"line":624},[621,3389,695],{"class":694},[621,3391,698],{"class":694},[621,3393,3394],{"class":701}," defineNuxtRouteMiddleware",[621,3396,706],{"class":705},[621,3398,2522],{"class":709},[621,3400,851],{"class":837},[621,3402,748],{"class":709},[621,3404,3405,3407,3409,3411,3413,3415,3418],{"class":623,"line":713},[621,3406,858],{"class":837},[621,3408,924],{"class":709},[621,3410,919],{"class":705},[621,3412,954],{"class":709},[621,3414,864],{"class":709},[621,3416,3417],{"class":701}," useAuth",[621,3419,3372],{"class":716},[621,3421,3422],{"class":623,"line":740},[621,3423,900],{"emptyLinePlaceholder":899},[621,3425,3426,3428,3430,3432,3434,3437,3439],{"class":623,"line":751},[621,3427,1383],{"class":694},[621,3429,841],{"class":716},[621,3431,3044],{"class":705},[621,3433,908],{"class":709},[621,3435,3436],{"class":705},"value",[621,3438,1400],{"class":716},[621,3440,710],{"class":709},[621,3442,3443,3446,3448,3450,3452,3454,3456,3458,3460,3462,3465,3467,3470,3472,3474,3476,3478,3480,3483,3485],{"class":623,"line":761},[621,3444,3445],{"class":701},"    setIdentity",[621,3447,706],{"class":716},[621,3449,916],{"class":709},[621,3451,3290],{"class":716},[621,3453,720],{"class":709},[621,3455,919],{"class":705},[621,3457,908],{"class":709},[621,3459,3436],{"class":705},[621,3461,908],{"class":709},[621,3463,3464],{"class":705},"id",[621,3466,939],{"class":709},[621,3468,3469],{"class":716}," email",[621,3471,720],{"class":709},[621,3473,919],{"class":705},[621,3475,908],{"class":709},[621,3477,3436],{"class":705},[621,3479,908],{"class":709},[621,3481,3482],{"class":705},"email",[621,3484,954],{"class":709},[621,3486,797],{"class":716},[621,3488,3489,3491,3494],{"class":623,"line":779},[621,3490,2645],{"class":709},[621,3492,3493],{"class":694}," else",[621,3495,748],{"class":709},[621,3497,3498,3501],{"class":623,"line":785},[621,3499,3500],{"class":701},"    clearIdentity",[621,3502,3372],{"class":716},[621,3504,3505],{"class":623,"line":791},[621,3506,1503],{"class":709},[621,3508,3509,3511],{"class":623,"line":1051},[621,3510,794],{"class":709},[621,3512,797],{"class":705},[599,3514,3516],{"id":3515},"production-tips","Production Tips",[535,3518,3519,3520,3523],{},"Use Nuxt's ",[539,3521,3522],{},"$production"," override to keep full logging in development while sampling and disabling console output in production:",[611,3525,3527],{"className":684,"code":3526,"filename":686,"language":687,"meta":617,"style":617},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    env: { service: 'my-app' },\n  },\n  $production: {\n    evlog: {\n      console: false,\n      sampling: {\n        rates: { info: 10, warn: 50, debug: 0 },\n        keep: [{ duration: 1000 }, { status: 400 }],\n      },\n    },\n  },\n})\n",[539,3528,3529,3541,3559,3567,3587,3591,3600,3609,3621,3630,3665,3699,3703,3707,3711],{"__ignoreMap":617},[621,3530,3531,3533,3535,3537,3539],{"class":623,"line":624},[621,3532,695],{"class":694},[621,3534,698],{"class":694},[621,3536,702],{"class":701},[621,3538,706],{"class":705},[621,3540,710],{"class":709},[621,3542,3543,3545,3547,3549,3551,3553,3555,3557],{"class":623,"line":713},[621,3544,717],{"class":716},[621,3546,720],{"class":709},[621,3548,723],{"class":705},[621,3550,726],{"class":709},[621,3552,729],{"class":630},[621,3554,726],{"class":709},[621,3556,734],{"class":705},[621,3558,737],{"class":709},[621,3560,3561,3563,3565],{"class":623,"line":740},[621,3562,743],{"class":716},[621,3564,720],{"class":709},[621,3566,748],{"class":709},[621,3568,3569,3571,3573,3575,3577,3579,3581,3583,3585],{"class":623,"line":751},[621,3570,754],{"class":716},[621,3572,720],{"class":709},[621,3574,924],{"class":709},[621,3576,2081],{"class":716},[621,3578,720],{"class":709},[621,3580,769],{"class":709},[621,3582,772],{"class":630},[621,3584,726],{"class":709},[621,3586,2093],{"class":709},[621,3588,3589],{"class":623,"line":761},[621,3590,788],{"class":709},[621,3592,3593,3596,3598],{"class":623,"line":779},[621,3594,3595],{"class":716},"  $production",[621,3597,720],{"class":709},[621,3599,748],{"class":709},[621,3601,3602,3605,3607],{"class":623,"line":785},[621,3603,3604],{"class":716},"    evlog",[621,3606,720],{"class":709},[621,3608,748],{"class":709},[621,3610,3611,3614,3616,3619],{"class":623,"line":791},[621,3612,3613],{"class":716},"      console",[621,3615,720],{"class":709},[621,3617,3618],{"class":1147}," false",[621,3620,737],{"class":709},[621,3622,3623,3626,3628],{"class":623,"line":1051},[621,3624,3625],{"class":716},"      sampling",[621,3627,720],{"class":709},[621,3629,748],{"class":709},[621,3631,3632,3635,3637,3639,3641,3643,3645,3647,3650,3652,3654,3656,3659,3661,3663],{"class":623,"line":1056},[621,3633,3634],{"class":716},"        rates",[621,3636,720],{"class":709},[621,3638,924],{"class":709},[621,3640,2871],{"class":716},[621,3642,720],{"class":709},[621,3644,2743],{"class":1219},[621,3646,939],{"class":709},[621,3648,3649],{"class":716}," warn",[621,3651,720],{"class":709},[621,3653,2323],{"class":1219},[621,3655,939],{"class":709},[621,3657,3658],{"class":716}," debug",[621,3660,720],{"class":709},[621,3662,1397],{"class":1219},[621,3664,2093],{"class":709},[621,3666,3667,3670,3672,3674,3676,3678,3680,3682,3685,3687,3689,3691,3693,3695,3697],{"class":623,"line":1078},[621,3668,3669],{"class":716},"        keep",[621,3671,720],{"class":709},[621,3673,723],{"class":705},[621,3675,916],{"class":709},[621,3677,2894],{"class":716},[621,3679,720],{"class":709},[621,3681,2899],{"class":1219},[621,3683,3684],{"class":709}," },",[621,3686,924],{"class":709},[621,3688,2908],{"class":716},[621,3690,720],{"class":709},[621,3692,1424],{"class":1219},[621,3694,954],{"class":709},[621,3696,734],{"class":705},[621,3698,737],{"class":709},[621,3700,3701],{"class":623,"line":1129},[621,3702,2785],{"class":709},[621,3704,3705],{"class":623,"line":1134},[621,3706,782],{"class":709},[621,3708,3709],{"class":623,"line":1168},[621,3710,788],{"class":709},[621,3712,3713,3715],{"class":623,"line":1500},[621,3714,794],{"class":709},[621,3716,797],{"class":705},[599,3718,3720],{"id":3719},"next-steps","Next Steps",[535,3722,3723,3724,3726],{},"Deepen your ",[1794,3725,230],{}," integration:",[560,3728,3729,3734,3739,3744],{},[563,3730,3731,3733],{},[588,3732,46],{"href":47},": Design comprehensive events with context layering",[563,3735,3736,3738],{},[588,3737,138],{"href":143},": Send logs to Axiom, Sentry, PostHog, and more",[563,3740,3741,3743],{},[588,3742,61],{"href":62},": Control log volume with head and tail sampling",[563,3745,3746,3748,3749,542,3751,546,3753,3755],{},[588,3747,51],{"href":52},": Throw errors with ",[539,3750,1265],{},[539,3752,1268],{},[539,3754,1271],{}," fields",[3757,3758,3759],"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);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":617,"searchDepth":713,"depth":713,"links":3761},[3762,3766,3767,3768,3769,3772,3776,3781,3786,3787],{"id":601,"depth":713,"text":25,"children":3763},[3764,3765],{"id":605,"depth":740,"text":606},{"id":680,"depth":740,"text":681},{"id":810,"depth":713,"text":46},{"id":1256,"depth":713,"text":1257},{"id":1549,"depth":713,"text":504},{"id":1865,"depth":713,"text":1866,"children":3770},[3771],{"id":2023,"depth":740,"text":2024},{"id":2197,"depth":713,"text":2198,"children":3773},[3774,3775],{"id":2204,"depth":740,"text":2205},{"id":2446,"depth":740,"text":2447},{"id":1568,"depth":713,"text":61,"children":3777},[3778,3779,3780],{"id":2668,"depth":740,"text":2669},{"id":2805,"depth":740,"text":2806},{"id":2956,"depth":740,"text":2957},{"id":3127,"depth":713,"text":3128,"children":3782},[3783,3784,3785],{"id":3227,"depth":740,"text":3228},{"id":3260,"depth":740,"text":3261},{"id":3375,"depth":740,"text":3376},{"id":3515,"depth":713,"text":3516},{"id":3719,"depth":713,"text":3720},"Automatic wide events, structured errors, drain adapters, enrichers, tail sampling, and client transport in Nuxt applications.","md",null,{},{"title":230,"icon":233},{"title":230,"description":3788},"_xcFMlchs_mgHBC1Ce3QpDJRSnvDiVt2_cwZzH9p3Ic",[3796,3798],{"title":36,"path":226,"stem":227,"description":3797,"icon":228,"children":-1},"evlog supports every major TypeScript framework. Choose your stack and get started in minutes.",{"title":235,"path":236,"stem":237,"description":3799,"icon":238,"children":-1},"Wide events, structured errors, drain pipeline, tail sampling, route-based services, error handling, and client-side logging in Next.js applications.",1785969323407]