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