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