[{"data":1,"prerenderedAt":3139},["ShallowReactive",2],{"navigation_docs":3,"-frameworks-nitro":282,"-frameworks-nitro-surround":3134},[4,30,65,105,188,252,268],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Logging","\u002Flogging","2.logging",[35,40,45,50,55,60],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flogging\u002Foverview","2.logging\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flogging\u002Fsimple-logging","2.logging\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flogging\u002Fwide-events","2.logging\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flogging\u002Fstructured-errors","2.logging\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Client Logging","\u002Flogging\u002Fclient-logging","2.logging\u002F4.client-logging","i-lucide-monitor",{"title":61,"path":62,"stem":63,"icon":64},"AI SDK Integration","\u002Flogging\u002Fai-sdk","2.logging\u002F5.ai-sdk","i-simple-icons-vercel",{"title":66,"path":67,"stem":68,"children":69,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[70,75,80,85,90,95,100],{"title":71,"path":72,"stem":73,"icon":74},"Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":76,"path":77,"stem":78,"icon":79},"Configuration","\u002Fcore-concepts\u002Fconfiguration","3.core-concepts\u002F1.configuration","i-lucide-settings",{"title":81,"path":82,"stem":83,"icon":84},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F2.sampling","i-lucide-filter",{"title":86,"path":87,"stem":88,"icon":89},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F3.typed-fields","i-simple-icons-typescript",{"title":91,"path":92,"stem":93,"icon":94},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F4.best-practices","i-lucide-shield-check",{"title":96,"path":97,"stem":98,"icon":99},"Performance","\u002Fcore-concepts\u002Fperformance","3.core-concepts\u002F5.performance","i-lucide-gauge",{"title":101,"path":102,"stem":103,"icon":104},"Vite Plugin","\u002Fcore-concepts\u002Fvite-plugin","3.core-concepts\u002F6.vite-plugin","i-custom-vite",{"title":106,"path":107,"stem":108,"children":109,"page":29},"Frameworks","\u002Fframeworks","4.frameworks",[110,114,119,124,129,134,139,144,149,154,159,164,169,174,178,183],{"title":36,"path":111,"stem":112,"icon":113},"\u002Fframeworks\u002Foverview","4.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":115,"path":116,"stem":117,"icon":118},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":120,"path":121,"stem":122,"icon":123},"Next.js","\u002Fframeworks\u002Fnextjs","4.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":125,"path":126,"stem":127,"icon":128},"SvelteKit","\u002Fframeworks\u002Fsveltekit","4.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":130,"path":131,"stem":132,"icon":133},"Nitro","\u002Fframeworks\u002Fnitro","4.frameworks\u002F04.nitro","i-custom-nitro",{"title":135,"path":136,"stem":137,"icon":138},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","4.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":140,"path":141,"stem":142,"icon":143},"NestJS","\u002Fframeworks\u002Fnestjs","4.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":145,"path":146,"stem":147,"icon":148},"Express","\u002Fframeworks\u002Fexpress","4.frameworks\u002F07.express","i-simple-icons-express",{"title":150,"path":151,"stem":152,"icon":153},"Hono","\u002Fframeworks\u002Fhono","4.frameworks\u002F08.hono","i-simple-icons-hono",{"title":155,"path":156,"stem":157,"icon":158},"Fastify","\u002Fframeworks\u002Ffastify","4.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":160,"path":161,"stem":162,"icon":163},"Elysia","\u002Fframeworks\u002Felysia","4.frameworks\u002F10.elysia","i-custom-elysia",{"title":165,"path":166,"stem":167,"icon":168},"React Router","\u002Fframeworks\u002Freact-router","4.frameworks\u002F11.react-router","i-custom-reactrouter",{"title":170,"path":171,"stem":172,"icon":173},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","4.frameworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":175,"path":176,"stem":177,"icon":89},"Standalone","\u002Fframeworks\u002Fstandalone","4.frameworks\u002F13.standalone",{"title":179,"path":180,"stem":181,"icon":182},"Astro","\u002Fframeworks\u002Fastro","4.frameworks\u002F14.astro","i-simple-icons-astro",{"title":184,"path":185,"stem":186,"icon":187},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","4.frameworks\u002F15.custom-integration","i-lucide-puzzle",{"title":189,"path":190,"stem":191,"children":192,"page":29},"Adapters","\u002Fadapters","5.adapters",[193,197,202,207,212,217,222,227,232,237,242,247],{"title":36,"path":194,"stem":195,"icon":196},"\u002Fadapters\u002Foverview","5.adapters\u002F1.overview","i-custom-plug",{"title":198,"path":199,"stem":200,"icon":201},"Custom Adapters","\u002Fadapters\u002Fcustom","5.adapters\u002F10.custom","i-lucide-code",{"title":203,"path":204,"stem":205,"icon":206},"Pipeline","\u002Fadapters\u002Fpipeline","5.adapters\u002F11.pipeline","i-lucide-workflow",{"title":208,"path":209,"stem":210,"icon":211},"Browser","\u002Fadapters\u002Fbrowser","5.adapters\u002F12.browser","i-lucide-globe",{"title":213,"path":214,"stem":215,"icon":216},"Axiom","\u002Fadapters\u002Faxiom","5.adapters\u002F2.axiom","i-custom-axiom",{"title":218,"path":219,"stem":220,"icon":221},"OTLP","\u002Fadapters\u002Fotlp","5.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":223,"path":224,"stem":225,"icon":226},"PostHog","\u002Fadapters\u002Fposthog","5.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":228,"path":229,"stem":230,"icon":231},"Sentry","\u002Fadapters\u002Fsentry","5.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":233,"path":234,"stem":235,"icon":236},"Better Stack","\u002Fadapters\u002Fbetter-stack","5.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":238,"path":239,"stem":240,"icon":241},"File System","\u002Fadapters\u002Ffs","5.adapters\u002F7.fs","i-lucide-hard-drive",{"title":243,"path":244,"stem":245,"icon":246},"Datadog","\u002Fadapters\u002Fdatadog","5.adapters\u002F8.datadog","i-simple-icons-datadog",{"title":248,"path":249,"stem":250,"icon":251},"HyperDX","\u002Fadapters\u002Fhyperdx","5.adapters\u002F9.hyperdx","i-custom-hyperdx",{"title":253,"path":254,"stem":255,"children":256,"page":29},"Enrichers","\u002Fenrichers","6.enrichers",[257,260,264],{"title":36,"path":258,"stem":259,"icon":28},"\u002Fenrichers\u002Foverview","6.enrichers\u002F1.overview",{"title":261,"path":262,"stem":263,"icon":187},"Built-in","\u002Fenrichers\u002Fbuilt-in","6.enrichers\u002F2.built-in",{"title":265,"path":266,"stem":267,"icon":201},"Custom","\u002Fenrichers\u002Fcustom","6.enrichers\u002F3.custom",{"title":269,"path":270,"stem":271,"children":272,"page":29},"NuxtHub","\u002Fnuxthub","7.nuxthub",[273,277],{"title":36,"path":274,"stem":275,"icon":276},"\u002Fnuxthub\u002Foverview","7.nuxthub\u002F1.overview","i-lucide-database",{"title":278,"path":279,"stem":280,"icon":281},"Retention","\u002Fnuxthub\u002Fretention","7.nuxthub\u002F2.retention","i-lucide-clock",{"id":283,"title":130,"body":284,"description":3127,"extension":3128,"links":3129,"meta":3130,"navigation":3131,"path":131,"seo":3132,"stem":132,"__hash__":3133},"docs\u002F4.frameworks\u002F04.nitro.md",{"type":285,"value":286,"toc":3107},"minimark",[287,296,383,387,392,458,462,724,727,733,1203,1206,1265,1269,1287,1649,1665,1668,1689,1693,1708,2090,2104,2108,2111,2115,2350,2362,2366,2525,2534,2536,2540,2543,2898,2901,2905,2912,3055,3062,3066,3072,3103],[288,289,290,291,295],"p",{},"evlog provides modules for both Nitro v3 and Nitro v2 (nitropack). The module hooks into the request lifecycle, creating a request-scoped logger accessible via ",[292,293,294],"code",{},"useLogger(event)",", and emits a wide event when the response completes.",[297,298,299],"code-collapse",{},[300,301,307],"pre",{"className":302,"code":303,"filename":304,"language":305,"meta":306,"style":306},"language-txt shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Set up evlog in my Nitro app.\n\n- Install evlog: pnpm add evlog\n- Import the evlog module in nitro.config.ts (evlog\u002Fnitro for v2, evlog\u002Fnitro\u002Fv3 for v3)\n- Configure env.service with your app name\n- Use useLogger(event) in route handlers to build wide events\n- Use log.set() to accumulate context throughout the request\n- Throw errors with createError({ message, status, why, fix })\n- Wide events are auto-emitted when each request completes\n\nDocs: https:\u002F\u002Fwww.evlog.dev\u002Fframeworks\u002Fnitro\nAdapters: https:\u002F\u002Fwww.evlog.dev\u002Fadapters\n","Prompt","txt","",[292,308,309,317,324,330,336,342,348,354,360,366,371,377],{"__ignoreMap":306},[310,311,314],"span",{"class":312,"line":313},"line",1,[310,315,316],{},"Set up evlog in my Nitro app.\n",[310,318,320],{"class":312,"line":319},2,[310,321,323],{"emptyLinePlaceholder":322},true,"\n",[310,325,327],{"class":312,"line":326},3,[310,328,329],{},"- Install evlog: pnpm add evlog\n",[310,331,333],{"class":312,"line":332},4,[310,334,335],{},"- Import the evlog module in nitro.config.ts (evlog\u002Fnitro for v2, evlog\u002Fnitro\u002Fv3 for v3)\n",[310,337,339],{"class":312,"line":338},5,[310,340,341],{},"- Configure env.service with your app name\n",[310,343,345],{"class":312,"line":344},6,[310,346,347],{},"- Use useLogger(event) in route handlers to build wide events\n",[310,349,351],{"class":312,"line":350},7,[310,352,353],{},"- Use log.set() to accumulate context throughout the request\n",[310,355,357],{"class":312,"line":356},8,[310,358,359],{},"- Throw errors with createError({ message, status, why, fix })\n",[310,361,363],{"class":312,"line":362},9,[310,364,365],{},"- Wide events are auto-emitted when each request completes\n",[310,367,369],{"class":312,"line":368},10,[310,370,323],{"emptyLinePlaceholder":322},[310,372,374],{"class":312,"line":373},11,[310,375,376],{},"Docs: https:\u002F\u002Fwww.evlog.dev\u002Fframeworks\u002Fnitro\n",[310,378,380],{"class":312,"line":379},12,[310,381,382],{},"Adapters: https:\u002F\u002Fwww.evlog.dev\u002Fadapters\n",[384,385,20],"h2",{"id":386},"quick-start",[388,389,391],"h3",{"id":390},"_1-install","1. Install",[393,394,395,415,430,444],"code-group",{},[300,396,401],{"className":397,"code":398,"filename":399,"language":400,"meta":306,"style":306},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog\n","pnpm","bash",[292,402,403],{"__ignoreMap":306},[310,404,405,408,412],{"class":312,"line":313},[310,406,399],{"class":407},"sBMFI",[310,409,411],{"class":410},"sfazB"," add",[310,413,414],{"class":410}," evlog\n",[300,416,419],{"className":397,"code":417,"filename":418,"language":400,"meta":306,"style":306},"npm install evlog\n","npm",[292,420,421],{"__ignoreMap":306},[310,422,423,425,428],{"class":312,"line":313},[310,424,418],{"class":407},[310,426,427],{"class":410}," install",[310,429,414],{"class":410},[300,431,434],{"className":397,"code":432,"filename":433,"language":400,"meta":306,"style":306},"yarn add evlog\n","yarn",[292,435,436],{"__ignoreMap":306},[310,437,438,440,442],{"class":312,"line":313},[310,439,433],{"class":407},[310,441,411],{"class":410},[310,443,414],{"class":410},[300,445,448],{"className":397,"code":446,"filename":447,"language":400,"meta":306,"style":306},"bun add evlog\n","bun",[292,449,450],{"__ignoreMap":306},[310,451,452,454,456],{"class":312,"line":313},[310,453,447],{"class":407},[310,455,411],{"class":410},[310,457,414],{"class":410},[388,459,461],{"id":460},"_2-add-the-module","2. Add the module",[393,463,464,611],{},[300,465,470],{"className":466,"code":467,"filename":468,"language":469,"meta":306,"style":306},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineConfig } from 'nitro'\nimport evlog from 'evlog\u002Fnitro\u002Fv3'\n\nexport default defineConfig({\n  modules: [\n    evlog({\n      env: { service: 'my-app' },\n    }),\n  ],\n})\n","nitro.config.ts (v3)","typescript",[292,471,472,501,518,522,539,551,560,585,596,603],{"__ignoreMap":306},[310,473,474,478,482,486,489,492,495,498],{"class":312,"line":313},[310,475,477],{"class":476},"s7zQu","import",[310,479,481],{"class":480},"sMK4o"," {",[310,483,485],{"class":484},"sTEyZ"," defineConfig",[310,487,488],{"class":480}," }",[310,490,491],{"class":476}," from",[310,493,494],{"class":480}," '",[310,496,497],{"class":410},"nitro",[310,499,500],{"class":480},"'\n",[310,502,503,505,508,511,513,516],{"class":312,"line":319},[310,504,477],{"class":476},[310,506,507],{"class":484}," evlog ",[310,509,510],{"class":476},"from",[310,512,494],{"class":480},[310,514,515],{"class":410},"evlog\u002Fnitro\u002Fv3",[310,517,500],{"class":480},[310,519,520],{"class":312,"line":326},[310,521,323],{"emptyLinePlaceholder":322},[310,523,524,527,530,533,536],{"class":312,"line":332},[310,525,526],{"class":476},"export",[310,528,529],{"class":476}," default",[310,531,485],{"class":532},"s2Zo4",[310,534,535],{"class":484},"(",[310,537,538],{"class":480},"{\n",[310,540,541,545,548],{"class":312,"line":338},[310,542,544],{"class":543},"swJcz","  modules",[310,546,547],{"class":480},":",[310,549,550],{"class":484}," [\n",[310,552,553,556,558],{"class":312,"line":344},[310,554,555],{"class":532},"    evlog",[310,557,535],{"class":484},[310,559,538],{"class":480},[310,561,562,565,567,569,572,574,576,579,582],{"class":312,"line":350},[310,563,564],{"class":543},"      env",[310,566,547],{"class":480},[310,568,481],{"class":480},[310,570,571],{"class":543}," service",[310,573,547],{"class":480},[310,575,494],{"class":480},[310,577,578],{"class":410},"my-app",[310,580,581],{"class":480},"'",[310,583,584],{"class":480}," },\n",[310,586,587,590,593],{"class":312,"line":356},[310,588,589],{"class":480},"    }",[310,591,592],{"class":484},")",[310,594,595],{"class":480},",\n",[310,597,598,601],{"class":312,"line":362},[310,599,600],{"class":484},"  ]",[310,602,595],{"class":480},[310,604,605,608],{"class":312,"line":368},[310,606,607],{"class":480},"}",[310,609,610],{"class":484},")\n",[300,612,615],{"className":466,"code":613,"filename":614,"language":469,"meta":306,"style":306},"import { defineNitroConfig } from 'nitropack\u002Fconfig'\nimport evlog from 'evlog\u002Fnitro'\n\nexport default defineNitroConfig({\n  modules: [\n    evlog({\n      env: { service: 'my-app' },\n    }),\n  ],\n})\n","nitro.config.ts (v2)",[292,616,617,637,652,656,668,676,684,704,712,718],{"__ignoreMap":306},[310,618,619,621,623,626,628,630,632,635],{"class":312,"line":313},[310,620,477],{"class":476},[310,622,481],{"class":480},[310,624,625],{"class":484}," defineNitroConfig",[310,627,488],{"class":480},[310,629,491],{"class":476},[310,631,494],{"class":480},[310,633,634],{"class":410},"nitropack\u002Fconfig",[310,636,500],{"class":480},[310,638,639,641,643,645,647,650],{"class":312,"line":319},[310,640,477],{"class":476},[310,642,507],{"class":484},[310,644,510],{"class":476},[310,646,494],{"class":480},[310,648,649],{"class":410},"evlog\u002Fnitro",[310,651,500],{"class":480},[310,653,654],{"class":312,"line":326},[310,655,323],{"emptyLinePlaceholder":322},[310,657,658,660,662,664,666],{"class":312,"line":332},[310,659,526],{"class":476},[310,661,529],{"class":476},[310,663,625],{"class":532},[310,665,535],{"class":484},[310,667,538],{"class":480},[310,669,670,672,674],{"class":312,"line":338},[310,671,544],{"class":543},[310,673,547],{"class":480},[310,675,550],{"class":484},[310,677,678,680,682],{"class":312,"line":344},[310,679,555],{"class":532},[310,681,535],{"class":484},[310,683,538],{"class":480},[310,685,686,688,690,692,694,696,698,700,702],{"class":312,"line":350},[310,687,564],{"class":543},[310,689,547],{"class":480},[310,691,481],{"class":480},[310,693,571],{"class":543},[310,695,547],{"class":480},[310,697,494],{"class":480},[310,699,578],{"class":410},[310,701,581],{"class":480},[310,703,584],{"class":480},[310,705,706,708,710],{"class":312,"line":356},[310,707,589],{"class":480},[310,709,592],{"class":484},[310,711,595],{"class":480},[310,713,714,716],{"class":312,"line":362},[310,715,600],{"class":484},[310,717,595],{"class":480},[310,719,720,722],{"class":312,"line":368},[310,721,607],{"class":480},[310,723,610],{"class":484},[384,725,46],{"id":726},"wide-events",[288,728,729,730,732],{},"Build up context progressively throughout a request with ",[292,731,294],{},". evlog emits a single wide event when the request completes.",[393,734,735,984],{},[300,736,739],{"className":466,"code":737,"filename":738,"language":469,"meta":306,"style":306},"import { defineHandler } from 'nitro\u002Fh3'\nimport { useLogger } from 'evlog\u002Fnitro\u002Fv3'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n  const body = await readBody(event)\n\n  log.set({ user: { id: body.userId } })\n  log.set({ cart: { items: body.items.length, total: body.total } })\n\n  return { success: true }\n})\n","routes\u002Fapi\u002Fcheckout.post.ts (v3)",[292,740,741,761,780,784,813,832,853,857,898,955,959,978],{"__ignoreMap":306},[310,742,743,745,747,750,752,754,756,759],{"class":312,"line":313},[310,744,477],{"class":476},[310,746,481],{"class":480},[310,748,749],{"class":484}," defineHandler",[310,751,488],{"class":480},[310,753,491],{"class":476},[310,755,494],{"class":480},[310,757,758],{"class":410},"nitro\u002Fh3",[310,760,500],{"class":480},[310,762,763,765,767,770,772,774,776,778],{"class":312,"line":319},[310,764,477],{"class":476},[310,766,481],{"class":480},[310,768,769],{"class":484}," useLogger",[310,771,488],{"class":480},[310,773,491],{"class":476},[310,775,494],{"class":480},[310,777,515],{"class":410},[310,779,500],{"class":480},[310,781,782],{"class":312,"line":326},[310,783,323],{"emptyLinePlaceholder":322},[310,785,786,788,790,792,794,798,801,805,807,810],{"class":312,"line":332},[310,787,526],{"class":476},[310,789,529],{"class":476},[310,791,749],{"class":532},[310,793,535],{"class":484},[310,795,797],{"class":796},"spNyl","async",[310,799,800],{"class":480}," (",[310,802,804],{"class":803},"sHdIc","event",[310,806,592],{"class":480},[310,808,809],{"class":796}," =>",[310,811,812],{"class":480}," {\n",[310,814,815,818,821,824,826,828,830],{"class":312,"line":338},[310,816,817],{"class":796},"  const",[310,819,820],{"class":484}," log",[310,822,823],{"class":480}," =",[310,825,769],{"class":532},[310,827,535],{"class":543},[310,829,804],{"class":484},[310,831,610],{"class":543},[310,833,834,836,839,841,844,847,849,851],{"class":312,"line":344},[310,835,817],{"class":796},[310,837,838],{"class":484}," body",[310,840,823],{"class":480},[310,842,843],{"class":476}," await",[310,845,846],{"class":532}," readBody",[310,848,535],{"class":543},[310,850,804],{"class":484},[310,852,610],{"class":543},[310,854,855],{"class":312,"line":350},[310,856,323],{"emptyLinePlaceholder":322},[310,858,859,862,865,868,870,873,876,878,880,883,885,887,889,892,894,896],{"class":312,"line":356},[310,860,861],{"class":484},"  log",[310,863,864],{"class":480},".",[310,866,867],{"class":532},"set",[310,869,535],{"class":543},[310,871,872],{"class":480},"{",[310,874,875],{"class":543}," user",[310,877,547],{"class":480},[310,879,481],{"class":480},[310,881,882],{"class":543}," id",[310,884,547],{"class":480},[310,886,838],{"class":484},[310,888,864],{"class":480},[310,890,891],{"class":484},"userId",[310,893,488],{"class":480},[310,895,488],{"class":480},[310,897,610],{"class":543},[310,899,900,902,904,906,908,910,913,915,917,920,922,924,926,929,931,934,937,940,942,944,946,949,951,953],{"class":312,"line":362},[310,901,861],{"class":484},[310,903,864],{"class":480},[310,905,867],{"class":532},[310,907,535],{"class":543},[310,909,872],{"class":480},[310,911,912],{"class":543}," cart",[310,914,547],{"class":480},[310,916,481],{"class":480},[310,918,919],{"class":543}," items",[310,921,547],{"class":480},[310,923,838],{"class":484},[310,925,864],{"class":480},[310,927,928],{"class":484},"items",[310,930,864],{"class":480},[310,932,933],{"class":484},"length",[310,935,936],{"class":480},",",[310,938,939],{"class":543}," total",[310,941,547],{"class":480},[310,943,838],{"class":484},[310,945,864],{"class":480},[310,947,948],{"class":484},"total",[310,950,488],{"class":480},[310,952,488],{"class":480},[310,954,610],{"class":543},[310,956,957],{"class":312,"line":368},[310,958,323],{"emptyLinePlaceholder":322},[310,960,961,964,966,969,971,975],{"class":312,"line":373},[310,962,963],{"class":476},"  return",[310,965,481],{"class":480},[310,967,968],{"class":543}," success",[310,970,547],{"class":480},[310,972,974],{"class":973},"sfNiH"," true",[310,976,977],{"class":480}," }\n",[310,979,980,982],{"class":312,"line":379},[310,981,607],{"class":480},[310,983,610],{"class":484},[300,985,988],{"className":466,"code":986,"filename":987,"language":469,"meta":306,"style":306},"import { defineEventHandler, readBody } from 'h3'\nimport { useLogger } from 'evlog\u002Fnitro'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const body = await readBody(event)\n\n  log.set({ user: { id: body.userId } })\n  log.set({ cart: { items: body.items.length, total: body.total } })\n\n  return { success: true }\n})\n","routes\u002Fapi\u002Fcheckout.post.ts (v2)",[292,989,990,1013,1031,1035,1057,1073,1091,1095,1129,1179,1183,1197],{"__ignoreMap":306},[310,991,992,994,996,999,1001,1003,1005,1007,1009,1011],{"class":312,"line":313},[310,993,477],{"class":476},[310,995,481],{"class":480},[310,997,998],{"class":484}," defineEventHandler",[310,1000,936],{"class":480},[310,1002,846],{"class":484},[310,1004,488],{"class":480},[310,1006,491],{"class":476},[310,1008,494],{"class":480},[310,1010,388],{"class":410},[310,1012,500],{"class":480},[310,1014,1015,1017,1019,1021,1023,1025,1027,1029],{"class":312,"line":319},[310,1016,477],{"class":476},[310,1018,481],{"class":480},[310,1020,769],{"class":484},[310,1022,488],{"class":480},[310,1024,491],{"class":476},[310,1026,494],{"class":480},[310,1028,649],{"class":410},[310,1030,500],{"class":480},[310,1032,1033],{"class":312,"line":326},[310,1034,323],{"emptyLinePlaceholder":322},[310,1036,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055],{"class":312,"line":332},[310,1038,526],{"class":476},[310,1040,529],{"class":476},[310,1042,998],{"class":532},[310,1044,535],{"class":484},[310,1046,797],{"class":796},[310,1048,800],{"class":480},[310,1050,804],{"class":803},[310,1052,592],{"class":480},[310,1054,809],{"class":796},[310,1056,812],{"class":480},[310,1058,1059,1061,1063,1065,1067,1069,1071],{"class":312,"line":338},[310,1060,817],{"class":796},[310,1062,820],{"class":484},[310,1064,823],{"class":480},[310,1066,769],{"class":532},[310,1068,535],{"class":543},[310,1070,804],{"class":484},[310,1072,610],{"class":543},[310,1074,1075,1077,1079,1081,1083,1085,1087,1089],{"class":312,"line":344},[310,1076,817],{"class":796},[310,1078,838],{"class":484},[310,1080,823],{"class":480},[310,1082,843],{"class":476},[310,1084,846],{"class":532},[310,1086,535],{"class":543},[310,1088,804],{"class":484},[310,1090,610],{"class":543},[310,1092,1093],{"class":312,"line":350},[310,1094,323],{"emptyLinePlaceholder":322},[310,1096,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127],{"class":312,"line":356},[310,1098,861],{"class":484},[310,1100,864],{"class":480},[310,1102,867],{"class":532},[310,1104,535],{"class":543},[310,1106,872],{"class":480},[310,1108,875],{"class":543},[310,1110,547],{"class":480},[310,1112,481],{"class":480},[310,1114,882],{"class":543},[310,1116,547],{"class":480},[310,1118,838],{"class":484},[310,1120,864],{"class":480},[310,1122,891],{"class":484},[310,1124,488],{"class":480},[310,1126,488],{"class":480},[310,1128,610],{"class":543},[310,1130,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177],{"class":312,"line":362},[310,1132,861],{"class":484},[310,1134,864],{"class":480},[310,1136,867],{"class":532},[310,1138,535],{"class":543},[310,1140,872],{"class":480},[310,1142,912],{"class":543},[310,1144,547],{"class":480},[310,1146,481],{"class":480},[310,1148,919],{"class":543},[310,1150,547],{"class":480},[310,1152,838],{"class":484},[310,1154,864],{"class":480},[310,1156,928],{"class":484},[310,1158,864],{"class":480},[310,1160,933],{"class":484},[310,1162,936],{"class":480},[310,1164,939],{"class":543},[310,1166,547],{"class":480},[310,1168,838],{"class":484},[310,1170,864],{"class":480},[310,1172,948],{"class":484},[310,1174,488],{"class":480},[310,1176,488],{"class":480},[310,1178,610],{"class":543},[310,1180,1181],{"class":312,"line":368},[310,1182,323],{"emptyLinePlaceholder":322},[310,1184,1185,1187,1189,1191,1193,1195],{"class":312,"line":373},[310,1186,963],{"class":476},[310,1188,481],{"class":480},[310,1190,968],{"class":543},[310,1192,547],{"class":480},[310,1194,974],{"class":973},[310,1196,977],{"class":480},[310,1198,1199,1201],{"class":312,"line":379},[310,1200,607],{"class":480},[310,1202,610],{"class":484},[288,1204,1205],{},"One request, one log line with all context:",[300,1207,1210],{"className":397,"code":1208,"filename":1209,"language":400,"meta":306,"style":306},"10:23:45 INFO [my-app] POST \u002Fapi\u002Fcheckout 200 in 145ms\n  ├─ user: id=usr_123\n  ├─ cart: items=3 total=14999\n  └─ requestId: a1b2c3d4-...\n","Terminal output",[292,1211,1212,1223,1234,1254],{"__ignoreMap":306},[310,1213,1214,1217,1220],{"class":312,"line":313},[310,1215,1216],{"class":407},"10:23:45",[310,1218,1219],{"class":410}," INFO",[310,1221,1222],{"class":484}," [my-app] POST \u002Fapi\u002Fcheckout 200 in 145ms\n",[310,1224,1225,1228,1231],{"class":312,"line":319},[310,1226,1227],{"class":407},"  ├─",[310,1229,1230],{"class":410}," user:",[310,1232,1233],{"class":410}," id=usr_123\n",[310,1235,1236,1238,1241,1244,1248,1251],{"class":312,"line":326},[310,1237,1227],{"class":407},[310,1239,1240],{"class":410}," cart:",[310,1242,1243],{"class":410}," items=",[310,1245,1247],{"class":1246},"sbssI","3",[310,1249,1250],{"class":410}," total=",[310,1252,1253],{"class":1246},"14999\n",[310,1255,1256,1259,1262],{"class":312,"line":332},[310,1257,1258],{"class":407},"  └─",[310,1260,1261],{"class":410}," requestId:",[310,1263,1264],{"class":410}," a1b2c3d4-...\n",[384,1266,1268],{"id":1267},"error-handling","Error Handling",[288,1270,1271,1274,1275,1278,1279,1282,1283,1286],{},[292,1272,1273],{},"createError"," produces structured errors with ",[292,1276,1277],{},"why",", ",[292,1280,1281],{},"fix",", and ",[292,1284,1285],{},"link"," fields that help both humans and AI agents understand what went wrong.",[393,1288,1289,1467],{},[300,1290,1293],{"className":466,"code":1291,"filename":1292,"language":469,"meta":306,"style":306},"import { defineHandler } from 'nitro\u002Fh3'\nimport { useLogger, createError } from 'evlog\u002Fnitro\u002Fv3'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n\n  throw createError({\n    status: 402,\n    message: 'Payment failed',\n    why: 'Card declined by issuer',\n    fix: 'Try a different payment method',\n  })\n})\n","routes\u002Fapi\u002Fpayment.post.ts (v3)",[292,1294,1295,1313,1336,1340,1362,1378,1382,1393,1405,1421,1437,1453,1460],{"__ignoreMap":306},[310,1296,1297,1299,1301,1303,1305,1307,1309,1311],{"class":312,"line":313},[310,1298,477],{"class":476},[310,1300,481],{"class":480},[310,1302,749],{"class":484},[310,1304,488],{"class":480},[310,1306,491],{"class":476},[310,1308,494],{"class":480},[310,1310,758],{"class":410},[310,1312,500],{"class":480},[310,1314,1315,1317,1319,1321,1323,1326,1328,1330,1332,1334],{"class":312,"line":319},[310,1316,477],{"class":476},[310,1318,481],{"class":480},[310,1320,769],{"class":484},[310,1322,936],{"class":480},[310,1324,1325],{"class":484}," createError",[310,1327,488],{"class":480},[310,1329,491],{"class":476},[310,1331,494],{"class":480},[310,1333,515],{"class":410},[310,1335,500],{"class":480},[310,1337,1338],{"class":312,"line":326},[310,1339,323],{"emptyLinePlaceholder":322},[310,1341,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360],{"class":312,"line":332},[310,1343,526],{"class":476},[310,1345,529],{"class":476},[310,1347,749],{"class":532},[310,1349,535],{"class":484},[310,1351,797],{"class":796},[310,1353,800],{"class":480},[310,1355,804],{"class":803},[310,1357,592],{"class":480},[310,1359,809],{"class":796},[310,1361,812],{"class":480},[310,1363,1364,1366,1368,1370,1372,1374,1376],{"class":312,"line":338},[310,1365,817],{"class":796},[310,1367,820],{"class":484},[310,1369,823],{"class":480},[310,1371,769],{"class":532},[310,1373,535],{"class":543},[310,1375,804],{"class":484},[310,1377,610],{"class":543},[310,1379,1380],{"class":312,"line":344},[310,1381,323],{"emptyLinePlaceholder":322},[310,1383,1384,1387,1389,1391],{"class":312,"line":350},[310,1385,1386],{"class":476},"  throw",[310,1388,1325],{"class":532},[310,1390,535],{"class":543},[310,1392,538],{"class":480},[310,1394,1395,1398,1400,1403],{"class":312,"line":356},[310,1396,1397],{"class":543},"    status",[310,1399,547],{"class":480},[310,1401,1402],{"class":1246}," 402",[310,1404,595],{"class":480},[310,1406,1407,1410,1412,1414,1417,1419],{"class":312,"line":362},[310,1408,1409],{"class":543},"    message",[310,1411,547],{"class":480},[310,1413,494],{"class":480},[310,1415,1416],{"class":410},"Payment failed",[310,1418,581],{"class":480},[310,1420,595],{"class":480},[310,1422,1423,1426,1428,1430,1433,1435],{"class":312,"line":368},[310,1424,1425],{"class":543},"    why",[310,1427,547],{"class":480},[310,1429,494],{"class":480},[310,1431,1432],{"class":410},"Card declined by issuer",[310,1434,581],{"class":480},[310,1436,595],{"class":480},[310,1438,1439,1442,1444,1446,1449,1451],{"class":312,"line":373},[310,1440,1441],{"class":543},"    fix",[310,1443,547],{"class":480},[310,1445,494],{"class":480},[310,1447,1448],{"class":410},"Try a different payment method",[310,1450,581],{"class":480},[310,1452,595],{"class":480},[310,1454,1455,1458],{"class":312,"line":379},[310,1456,1457],{"class":480},"  }",[310,1459,610],{"class":543},[310,1461,1463,1465],{"class":312,"line":1462},13,[310,1464,607],{"class":480},[310,1466,610],{"class":484},[300,1468,1471],{"className":466,"code":1469,"filename":1470,"language":469,"meta":306,"style":306},"import { defineEventHandler } from 'h3'\nimport { useLogger } from 'evlog\u002Fnitro'\nimport { createError } from 'evlog'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\n  throw createError({\n    status: 402,\n    message: 'Payment failed',\n    why: 'Card declined by issuer',\n    fix: 'Try a different payment method',\n  })\n})\n","routes\u002Fapi\u002Fpayment.post.ts (v2)",[292,1472,1473,1491,1509,1528,1532,1554,1570,1574,1584,1594,1608,1622,1636,1642],{"__ignoreMap":306},[310,1474,1475,1477,1479,1481,1483,1485,1487,1489],{"class":312,"line":313},[310,1476,477],{"class":476},[310,1478,481],{"class":480},[310,1480,998],{"class":484},[310,1482,488],{"class":480},[310,1484,491],{"class":476},[310,1486,494],{"class":480},[310,1488,388],{"class":410},[310,1490,500],{"class":480},[310,1492,1493,1495,1497,1499,1501,1503,1505,1507],{"class":312,"line":319},[310,1494,477],{"class":476},[310,1496,481],{"class":480},[310,1498,769],{"class":484},[310,1500,488],{"class":480},[310,1502,491],{"class":476},[310,1504,494],{"class":480},[310,1506,649],{"class":410},[310,1508,500],{"class":480},[310,1510,1511,1513,1515,1517,1519,1521,1523,1526],{"class":312,"line":326},[310,1512,477],{"class":476},[310,1514,481],{"class":480},[310,1516,1325],{"class":484},[310,1518,488],{"class":480},[310,1520,491],{"class":476},[310,1522,494],{"class":480},[310,1524,1525],{"class":410},"evlog",[310,1527,500],{"class":480},[310,1529,1530],{"class":312,"line":332},[310,1531,323],{"emptyLinePlaceholder":322},[310,1533,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552],{"class":312,"line":338},[310,1535,526],{"class":476},[310,1537,529],{"class":476},[310,1539,998],{"class":532},[310,1541,535],{"class":484},[310,1543,797],{"class":796},[310,1545,800],{"class":480},[310,1547,804],{"class":803},[310,1549,592],{"class":480},[310,1551,809],{"class":796},[310,1553,812],{"class":480},[310,1555,1556,1558,1560,1562,1564,1566,1568],{"class":312,"line":344},[310,1557,817],{"class":796},[310,1559,820],{"class":484},[310,1561,823],{"class":480},[310,1563,769],{"class":532},[310,1565,535],{"class":543},[310,1567,804],{"class":484},[310,1569,610],{"class":543},[310,1571,1572],{"class":312,"line":350},[310,1573,323],{"emptyLinePlaceholder":322},[310,1575,1576,1578,1580,1582],{"class":312,"line":356},[310,1577,1386],{"class":476},[310,1579,1325],{"class":532},[310,1581,535],{"class":543},[310,1583,538],{"class":480},[310,1585,1586,1588,1590,1592],{"class":312,"line":362},[310,1587,1397],{"class":543},[310,1589,547],{"class":480},[310,1591,1402],{"class":1246},[310,1593,595],{"class":480},[310,1595,1596,1598,1600,1602,1604,1606],{"class":312,"line":368},[310,1597,1409],{"class":543},[310,1599,547],{"class":480},[310,1601,494],{"class":480},[310,1603,1416],{"class":410},[310,1605,581],{"class":480},[310,1607,595],{"class":480},[310,1609,1610,1612,1614,1616,1618,1620],{"class":312,"line":373},[310,1611,1425],{"class":543},[310,1613,547],{"class":480},[310,1615,494],{"class":480},[310,1617,1432],{"class":410},[310,1619,581],{"class":480},[310,1621,595],{"class":480},[310,1623,1624,1626,1628,1630,1632,1634],{"class":312,"line":379},[310,1625,1441],{"class":543},[310,1627,547],{"class":480},[310,1629,494],{"class":480},[310,1631,1448],{"class":410},[310,1633,581],{"class":480},[310,1635,595],{"class":480},[310,1637,1638,1640],{"class":312,"line":1462},[310,1639,1457],{"class":480},[310,1641,610],{"class":543},[310,1643,1645,1647],{"class":312,"line":1644},14,[310,1646,607],{"class":480},[310,1648,610],{"class":484},[1650,1651,1653,1654,1656,1657,1659,1660,1656,1662,1664],"callout",{"color":1652,"icon":13},"info","In Nitro v3, import ",[292,1655,1273],{}," from ",[292,1658,515],{}," - it wraps the Nitro error handler. In Nitro v2, import ",[292,1661,1273],{},[292,1663,1525],{}," directly.",[384,1666,76],{"id":1667},"configuration",[288,1669,1670,1671,1675,1676,1278,1679,1278,1682,1278,1685,1688],{},"See the ",[1672,1673,1674],"a",{"href":77},"Configuration reference"," for all available options (",[292,1677,1678],{},"enabled",[292,1680,1681],{},"pretty",[292,1683,1684],{},"silent",[292,1686,1687],{},"sampling",", etc.).",[388,1690,1692],{"id":1691},"route-filtering","Route Filtering",[288,1694,1695,1696,1699,1700,1703,1704,1707],{},"Use ",[292,1697,1698],{},"include"," and ",[292,1701,1702],{},"exclude"," to control which routes are logged, and ",[292,1705,1706],{},"routes"," to assign different service names to different route groups:",[393,1709,1710,1907],{},[300,1711,1713],{"className":466,"code":1712,"filename":468,"language":469,"meta":306,"style":306},"import { defineConfig } from 'nitro'\nimport evlog from 'evlog\u002Fnitro\u002Fv3'\n\nexport default defineConfig({\n  modules: [\n    evlog({\n      include: ['\u002Fapi\u002F**'],\n      exclude: ['\u002Fapi\u002Fhealth'],\n      routes: {\n        '\u002Fapi\u002Fauth\u002F**': { service: 'auth-service' },\n        '\u002Fapi\u002Fpayment\u002F**': { service: 'payment-service' },\n      },\n    })\n  ],\n})\n",[292,1714,1715,1733,1747,1751,1763,1771,1779,1801,1821,1830,1857,1883,1888,1894,1900],{"__ignoreMap":306},[310,1716,1717,1719,1721,1723,1725,1727,1729,1731],{"class":312,"line":313},[310,1718,477],{"class":476},[310,1720,481],{"class":480},[310,1722,485],{"class":484},[310,1724,488],{"class":480},[310,1726,491],{"class":476},[310,1728,494],{"class":480},[310,1730,497],{"class":410},[310,1732,500],{"class":480},[310,1734,1735,1737,1739,1741,1743,1745],{"class":312,"line":319},[310,1736,477],{"class":476},[310,1738,507],{"class":484},[310,1740,510],{"class":476},[310,1742,494],{"class":480},[310,1744,515],{"class":410},[310,1746,500],{"class":480},[310,1748,1749],{"class":312,"line":326},[310,1750,323],{"emptyLinePlaceholder":322},[310,1752,1753,1755,1757,1759,1761],{"class":312,"line":332},[310,1754,526],{"class":476},[310,1756,529],{"class":476},[310,1758,485],{"class":532},[310,1760,535],{"class":484},[310,1762,538],{"class":480},[310,1764,1765,1767,1769],{"class":312,"line":338},[310,1766,544],{"class":543},[310,1768,547],{"class":480},[310,1770,550],{"class":484},[310,1772,1773,1775,1777],{"class":312,"line":344},[310,1774,555],{"class":532},[310,1776,535],{"class":484},[310,1778,538],{"class":480},[310,1780,1781,1784,1786,1789,1791,1794,1796,1799],{"class":312,"line":350},[310,1782,1783],{"class":543},"      include",[310,1785,547],{"class":480},[310,1787,1788],{"class":484}," [",[310,1790,581],{"class":480},[310,1792,1793],{"class":410},"\u002Fapi\u002F**",[310,1795,581],{"class":480},[310,1797,1798],{"class":484},"]",[310,1800,595],{"class":480},[310,1802,1803,1806,1808,1810,1812,1815,1817,1819],{"class":312,"line":356},[310,1804,1805],{"class":543},"      exclude",[310,1807,547],{"class":480},[310,1809,1788],{"class":484},[310,1811,581],{"class":480},[310,1813,1814],{"class":410},"\u002Fapi\u002Fhealth",[310,1816,581],{"class":480},[310,1818,1798],{"class":484},[310,1820,595],{"class":480},[310,1822,1823,1826,1828],{"class":312,"line":362},[310,1824,1825],{"class":543},"      routes",[310,1827,547],{"class":480},[310,1829,812],{"class":480},[310,1831,1832,1835,1838,1840,1842,1844,1846,1848,1850,1853,1855],{"class":312,"line":368},[310,1833,1834],{"class":480},"        '",[310,1836,1837],{"class":543},"\u002Fapi\u002Fauth\u002F**",[310,1839,581],{"class":480},[310,1841,547],{"class":480},[310,1843,481],{"class":480},[310,1845,571],{"class":543},[310,1847,547],{"class":480},[310,1849,494],{"class":480},[310,1851,1852],{"class":410},"auth-service",[310,1854,581],{"class":480},[310,1856,584],{"class":480},[310,1858,1859,1861,1864,1866,1868,1870,1872,1874,1876,1879,1881],{"class":312,"line":373},[310,1860,1834],{"class":480},[310,1862,1863],{"class":543},"\u002Fapi\u002Fpayment\u002F**",[310,1865,581],{"class":480},[310,1867,547],{"class":480},[310,1869,481],{"class":480},[310,1871,571],{"class":543},[310,1873,547],{"class":480},[310,1875,494],{"class":480},[310,1877,1878],{"class":410},"payment-service",[310,1880,581],{"class":480},[310,1882,584],{"class":480},[310,1884,1885],{"class":312,"line":379},[310,1886,1887],{"class":480},"      },\n",[310,1889,1890,1892],{"class":312,"line":1462},[310,1891,589],{"class":480},[310,1893,610],{"class":484},[310,1895,1896,1898],{"class":312,"line":1644},[310,1897,600],{"class":484},[310,1899,595],{"class":480},[310,1901,1903,1905],{"class":312,"line":1902},15,[310,1904,607],{"class":480},[310,1906,610],{"class":484},[300,1908,1910],{"className":466,"code":1909,"filename":614,"language":469,"meta":306,"style":306},"import { defineNitroConfig } from 'nitropack\u002Fconfig'\nimport evlog from 'evlog\u002Fnitro'\n\nexport default defineNitroConfig({\n  modules: [\n    evlog({\n      include: ['\u002Fapi\u002F**'],\n      exclude: ['\u002Fapi\u002Fhealth'],\n      routes: {\n        '\u002Fapi\u002Fauth\u002F**': { service: 'auth-service' },\n        '\u002Fapi\u002Fpayment\u002F**': { service: 'payment-service' },\n      },\n    })\n  ],\n})\n",[292,1911,1912,1930,1944,1948,1960,1968,1976,1994,2012,2020,2044,2068,2072,2078,2084],{"__ignoreMap":306},[310,1913,1914,1916,1918,1920,1922,1924,1926,1928],{"class":312,"line":313},[310,1915,477],{"class":476},[310,1917,481],{"class":480},[310,1919,625],{"class":484},[310,1921,488],{"class":480},[310,1923,491],{"class":476},[310,1925,494],{"class":480},[310,1927,634],{"class":410},[310,1929,500],{"class":480},[310,1931,1932,1934,1936,1938,1940,1942],{"class":312,"line":319},[310,1933,477],{"class":476},[310,1935,507],{"class":484},[310,1937,510],{"class":476},[310,1939,494],{"class":480},[310,1941,649],{"class":410},[310,1943,500],{"class":480},[310,1945,1946],{"class":312,"line":326},[310,1947,323],{"emptyLinePlaceholder":322},[310,1949,1950,1952,1954,1956,1958],{"class":312,"line":332},[310,1951,526],{"class":476},[310,1953,529],{"class":476},[310,1955,625],{"class":532},[310,1957,535],{"class":484},[310,1959,538],{"class":480},[310,1961,1962,1964,1966],{"class":312,"line":338},[310,1963,544],{"class":543},[310,1965,547],{"class":480},[310,1967,550],{"class":484},[310,1969,1970,1972,1974],{"class":312,"line":344},[310,1971,555],{"class":532},[310,1973,535],{"class":484},[310,1975,538],{"class":480},[310,1977,1978,1980,1982,1984,1986,1988,1990,1992],{"class":312,"line":350},[310,1979,1783],{"class":543},[310,1981,547],{"class":480},[310,1983,1788],{"class":484},[310,1985,581],{"class":480},[310,1987,1793],{"class":410},[310,1989,581],{"class":480},[310,1991,1798],{"class":484},[310,1993,595],{"class":480},[310,1995,1996,1998,2000,2002,2004,2006,2008,2010],{"class":312,"line":356},[310,1997,1805],{"class":543},[310,1999,547],{"class":480},[310,2001,1788],{"class":484},[310,2003,581],{"class":480},[310,2005,1814],{"class":410},[310,2007,581],{"class":480},[310,2009,1798],{"class":484},[310,2011,595],{"class":480},[310,2013,2014,2016,2018],{"class":312,"line":362},[310,2015,1825],{"class":543},[310,2017,547],{"class":480},[310,2019,812],{"class":480},[310,2021,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042],{"class":312,"line":368},[310,2023,1834],{"class":480},[310,2025,1837],{"class":543},[310,2027,581],{"class":480},[310,2029,547],{"class":480},[310,2031,481],{"class":480},[310,2033,571],{"class":543},[310,2035,547],{"class":480},[310,2037,494],{"class":480},[310,2039,1852],{"class":410},[310,2041,581],{"class":480},[310,2043,584],{"class":480},[310,2045,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066],{"class":312,"line":373},[310,2047,1834],{"class":480},[310,2049,1863],{"class":543},[310,2051,581],{"class":480},[310,2053,547],{"class":480},[310,2055,481],{"class":480},[310,2057,571],{"class":543},[310,2059,547],{"class":480},[310,2061,494],{"class":480},[310,2063,1878],{"class":410},[310,2065,581],{"class":480},[310,2067,584],{"class":480},[310,2069,2070],{"class":312,"line":379},[310,2071,1887],{"class":480},[310,2073,2074,2076],{"class":312,"line":1462},[310,2075,589],{"class":480},[310,2077,610],{"class":484},[310,2079,2080,2082],{"class":312,"line":1644},[310,2081,600],{"class":484},[310,2083,595],{"class":480},[310,2085,2086,2088],{"class":312,"line":1902},[310,2087,607],{"class":480},[310,2089,610],{"class":484},[1650,2091,2094,2098,2099,1699,2101,2103],{"color":2092,"icon":2093},"warning","i-lucide-alert-triangle",[2095,2096,2097],"strong",{},"Exclusions take precedence."," If a path matches both ",[292,2100,1698],{},[292,2102,1702],{},", it will be excluded.",[384,2105,2107],{"id":2106},"drain-enrichers","Drain & Enrichers",[288,2109,2110],{},"Use Nitro plugin hooks to send logs to external services and enrich them with additional context.",[388,2112,2114],{"id":2113},"drain-plugin","Drain Plugin",[300,2116,2119],{"className":466,"code":2117,"filename":2118,"language":469,"meta":306,"style":306},"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",[292,2120,2121,2143,2163,2183,2187,2213,2242,2261,2267,2287,2291,2313,2344],{"__ignoreMap":306},[310,2122,2123,2125,2128,2130,2133,2135,2137,2139,2141],{"class":312,"line":313},[310,2124,477],{"class":476},[310,2126,2127],{"class":476}," type",[310,2129,481],{"class":480},[310,2131,2132],{"class":484}," DrainContext",[310,2134,488],{"class":480},[310,2136,491],{"class":476},[310,2138,494],{"class":480},[310,2140,1525],{"class":410},[310,2142,500],{"class":480},[310,2144,2145,2147,2149,2152,2154,2156,2158,2161],{"class":312,"line":319},[310,2146,477],{"class":476},[310,2148,481],{"class":480},[310,2150,2151],{"class":484}," createAxiomDrain",[310,2153,488],{"class":480},[310,2155,491],{"class":476},[310,2157,494],{"class":480},[310,2159,2160],{"class":410},"evlog\u002Faxiom",[310,2162,500],{"class":480},[310,2164,2165,2167,2169,2172,2174,2176,2178,2181],{"class":312,"line":326},[310,2166,477],{"class":476},[310,2168,481],{"class":480},[310,2170,2171],{"class":484}," createDrainPipeline",[310,2173,488],{"class":480},[310,2175,491],{"class":476},[310,2177,494],{"class":480},[310,2179,2180],{"class":410},"evlog\u002Fpipeline",[310,2182,500],{"class":480},[310,2184,2185],{"class":312,"line":332},[310,2186,323],{"emptyLinePlaceholder":322},[310,2188,2189,2192,2195,2198,2200,2203,2206,2209,2211],{"class":312,"line":338},[310,2190,2191],{"class":796},"const",[310,2193,2194],{"class":484}," pipeline ",[310,2196,2197],{"class":480},"=",[310,2199,2171],{"class":532},[310,2201,2202],{"class":480},"\u003C",[310,2204,2205],{"class":407},"DrainContext",[310,2207,2208],{"class":480},">",[310,2210,535],{"class":484},[310,2212,538],{"class":480},[310,2214,2215,2218,2220,2222,2225,2227,2230,2232,2235,2237,2240],{"class":312,"line":344},[310,2216,2217],{"class":543},"  batch",[310,2219,547],{"class":480},[310,2221,481],{"class":480},[310,2223,2224],{"class":543}," size",[310,2226,547],{"class":480},[310,2228,2229],{"class":1246}," 50",[310,2231,936],{"class":480},[310,2233,2234],{"class":543}," intervalMs",[310,2236,547],{"class":480},[310,2238,2239],{"class":1246}," 5000",[310,2241,584],{"class":480},[310,2243,2244,2247,2249,2251,2254,2256,2259],{"class":312,"line":350},[310,2245,2246],{"class":543},"  retry",[310,2248,547],{"class":480},[310,2250,481],{"class":480},[310,2252,2253],{"class":543}," maxAttempts",[310,2255,547],{"class":480},[310,2257,2258],{"class":1246}," 3",[310,2260,584],{"class":480},[310,2262,2263,2265],{"class":312,"line":356},[310,2264,607],{"class":480},[310,2266,610],{"class":484},[310,2268,2269,2271,2274,2276,2279,2281,2284],{"class":312,"line":362},[310,2270,2191],{"class":796},[310,2272,2273],{"class":484}," drain ",[310,2275,2197],{"class":480},[310,2277,2278],{"class":532}," pipeline",[310,2280,535],{"class":484},[310,2282,2283],{"class":532},"createAxiomDrain",[310,2285,2286],{"class":484},"())\n",[310,2288,2289],{"class":312,"line":368},[310,2290,323],{"emptyLinePlaceholder":322},[310,2292,2293,2295,2297,2300,2302,2304,2307,2309,2311],{"class":312,"line":373},[310,2294,526],{"class":476},[310,2296,529],{"class":476},[310,2298,2299],{"class":532}," defineNitroPlugin",[310,2301,535],{"class":484},[310,2303,535],{"class":480},[310,2305,2306],{"class":803},"nitroApp",[310,2308,592],{"class":480},[310,2310,809],{"class":796},[310,2312,812],{"class":480},[310,2314,2315,2318,2320,2323,2325,2328,2330,2332,2335,2337,2339,2342],{"class":312,"line":379},[310,2316,2317],{"class":484},"  nitroApp",[310,2319,864],{"class":480},[310,2321,2322],{"class":484},"hooks",[310,2324,864],{"class":480},[310,2326,2327],{"class":532},"hook",[310,2329,535],{"class":543},[310,2331,581],{"class":480},[310,2333,2334],{"class":410},"evlog:drain",[310,2336,581],{"class":480},[310,2338,936],{"class":480},[310,2340,2341],{"class":484}," drain",[310,2343,610],{"class":543},[310,2345,2346,2348],{"class":312,"line":1462},[310,2347,607],{"class":480},[310,2349,610],{"class":484},[1650,2351,2352,2353,1656,2356,2358,2359,864],{"color":1652,"icon":13},"For Nitro v3 standalone, use ",[292,2354,2355],{},"definePlugin",[292,2357,497],{}," instead of ",[292,2360,2361],{},"defineNitroPlugin",[388,2363,2365],{"id":2364},"enricher-plugin","Enricher Plugin",[300,2367,2370],{"className":466,"code":2368,"filename":2369,"language":469,"meta":306,"style":306},"import { createUserAgentEnricher, createGeoEnricher } from 'evlog\u002Fenrichers'\n\nconst enrichers = [createUserAgentEnricher(), createGeoEnricher()]\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",[292,2371,2372,2397,2401,2425,2429,2449,2483,2513,2519],{"__ignoreMap":306},[310,2373,2374,2376,2378,2381,2383,2386,2388,2390,2392,2395],{"class":312,"line":313},[310,2375,477],{"class":476},[310,2377,481],{"class":480},[310,2379,2380],{"class":484}," createUserAgentEnricher",[310,2382,936],{"class":480},[310,2384,2385],{"class":484}," createGeoEnricher",[310,2387,488],{"class":480},[310,2389,491],{"class":476},[310,2391,494],{"class":480},[310,2393,2394],{"class":410},"evlog\u002Fenrichers",[310,2396,500],{"class":480},[310,2398,2399],{"class":312,"line":319},[310,2400,323],{"emptyLinePlaceholder":322},[310,2402,2403,2405,2408,2410,2412,2415,2418,2420,2422],{"class":312,"line":326},[310,2404,2191],{"class":796},[310,2406,2407],{"class":484}," enrichers ",[310,2409,2197],{"class":480},[310,2411,1788],{"class":484},[310,2413,2414],{"class":532},"createUserAgentEnricher",[310,2416,2417],{"class":484},"()",[310,2419,936],{"class":480},[310,2421,2385],{"class":532},[310,2423,2424],{"class":484},"()]\n",[310,2426,2427],{"class":312,"line":332},[310,2428,323],{"emptyLinePlaceholder":322},[310,2430,2431,2433,2435,2437,2439,2441,2443,2445,2447],{"class":312,"line":338},[310,2432,526],{"class":476},[310,2434,529],{"class":476},[310,2436,2299],{"class":532},[310,2438,535],{"class":484},[310,2440,535],{"class":480},[310,2442,2306],{"class":803},[310,2444,592],{"class":480},[310,2446,809],{"class":796},[310,2448,812],{"class":480},[310,2450,2451,2453,2455,2457,2459,2461,2463,2465,2468,2470,2472,2474,2477,2479,2481],{"class":312,"line":344},[310,2452,2317],{"class":484},[310,2454,864],{"class":480},[310,2456,2322],{"class":484},[310,2458,864],{"class":480},[310,2460,2327],{"class":532},[310,2462,535],{"class":543},[310,2464,581],{"class":480},[310,2466,2467],{"class":410},"evlog:enrich",[310,2469,581],{"class":480},[310,2471,936],{"class":480},[310,2473,800],{"class":480},[310,2475,2476],{"class":803},"ctx",[310,2478,592],{"class":480},[310,2480,809],{"class":796},[310,2482,812],{"class":480},[310,2484,2485,2488,2490,2492,2495,2498,2501,2504,2507,2509,2511],{"class":312,"line":350},[310,2486,2487],{"class":476},"    for",[310,2489,800],{"class":543},[310,2491,2191],{"class":796},[310,2493,2494],{"class":484}," enricher",[310,2496,2497],{"class":480}," of",[310,2499,2500],{"class":484}," enrichers",[310,2502,2503],{"class":543},") ",[310,2505,2506],{"class":532},"enricher",[310,2508,535],{"class":543},[310,2510,2476],{"class":484},[310,2512,610],{"class":543},[310,2514,2515,2517],{"class":312,"line":356},[310,2516,1457],{"class":480},[310,2518,610],{"class":543},[310,2520,2521,2523],{"class":312,"line":362},[310,2522,607],{"class":480},[310,2524,610],{"class":484},[1650,2526,1670,2529,1699,2531,2533],{"color":2527,"icon":2528},"neutral","i-lucide-arrow-right",[1672,2530,189],{"href":194},[1672,2532,253],{"href":258}," docs for the full list of available drains and enrichers.",[384,2535,81],{"id":1687},[388,2537,2539],{"id":2538},"head-sampling","Head Sampling",[288,2541,2542],{},"Randomly keep a percentage of logs per level. Runs before the request completes.",[393,2544,2545,2729],{},[300,2546,2548],{"className":466,"code":2547,"filename":468,"language":469,"meta":306,"style":306},"import { defineConfig } from 'nitro'\nimport evlog from 'evlog\u002Fnitro\u002Fv3'\n\nexport default defineConfig({\n  modules: [\n    evlog({\n      sampling: {\n        rates: { info: 10, warn: 50, debug: 5 },\n        keep: [\n          { duration: 1000 },\n          { status: 400 },\n        ],\n      },\n    })\n  ],\n})\n",[292,2549,2550,2568,2582,2586,2598,2606,2614,2623,2661,2670,2685,2699,2706,2710,2716,2722],{"__ignoreMap":306},[310,2551,2552,2554,2556,2558,2560,2562,2564,2566],{"class":312,"line":313},[310,2553,477],{"class":476},[310,2555,481],{"class":480},[310,2557,485],{"class":484},[310,2559,488],{"class":480},[310,2561,491],{"class":476},[310,2563,494],{"class":480},[310,2565,497],{"class":410},[310,2567,500],{"class":480},[310,2569,2570,2572,2574,2576,2578,2580],{"class":312,"line":319},[310,2571,477],{"class":476},[310,2573,507],{"class":484},[310,2575,510],{"class":476},[310,2577,494],{"class":480},[310,2579,515],{"class":410},[310,2581,500],{"class":480},[310,2583,2584],{"class":312,"line":326},[310,2585,323],{"emptyLinePlaceholder":322},[310,2587,2588,2590,2592,2594,2596],{"class":312,"line":332},[310,2589,526],{"class":476},[310,2591,529],{"class":476},[310,2593,485],{"class":532},[310,2595,535],{"class":484},[310,2597,538],{"class":480},[310,2599,2600,2602,2604],{"class":312,"line":338},[310,2601,544],{"class":543},[310,2603,547],{"class":480},[310,2605,550],{"class":484},[310,2607,2608,2610,2612],{"class":312,"line":344},[310,2609,555],{"class":532},[310,2611,535],{"class":484},[310,2613,538],{"class":480},[310,2615,2616,2619,2621],{"class":312,"line":350},[310,2617,2618],{"class":543},"      sampling",[310,2620,547],{"class":480},[310,2622,812],{"class":480},[310,2624,2625,2628,2630,2632,2635,2637,2640,2642,2645,2647,2649,2651,2654,2656,2659],{"class":312,"line":356},[310,2626,2627],{"class":543},"        rates",[310,2629,547],{"class":480},[310,2631,481],{"class":480},[310,2633,2634],{"class":543}," info",[310,2636,547],{"class":480},[310,2638,2639],{"class":1246}," 10",[310,2641,936],{"class":480},[310,2643,2644],{"class":543}," warn",[310,2646,547],{"class":480},[310,2648,2229],{"class":1246},[310,2650,936],{"class":480},[310,2652,2653],{"class":543}," debug",[310,2655,547],{"class":480},[310,2657,2658],{"class":1246}," 5",[310,2660,584],{"class":480},[310,2662,2663,2666,2668],{"class":312,"line":362},[310,2664,2665],{"class":543},"        keep",[310,2667,547],{"class":480},[310,2669,550],{"class":484},[310,2671,2672,2675,2678,2680,2683],{"class":312,"line":368},[310,2673,2674],{"class":480},"          {",[310,2676,2677],{"class":543}," duration",[310,2679,547],{"class":480},[310,2681,2682],{"class":1246}," 1000",[310,2684,584],{"class":480},[310,2686,2687,2689,2692,2694,2697],{"class":312,"line":373},[310,2688,2674],{"class":480},[310,2690,2691],{"class":543}," status",[310,2693,547],{"class":480},[310,2695,2696],{"class":1246}," 400",[310,2698,584],{"class":480},[310,2700,2701,2704],{"class":312,"line":379},[310,2702,2703],{"class":484},"        ]",[310,2705,595],{"class":480},[310,2707,2708],{"class":312,"line":1462},[310,2709,1887],{"class":480},[310,2711,2712,2714],{"class":312,"line":1644},[310,2713,589],{"class":480},[310,2715,610],{"class":484},[310,2717,2718,2720],{"class":312,"line":1902},[310,2719,600],{"class":484},[310,2721,595],{"class":480},[310,2723,2725,2727],{"class":312,"line":2724},16,[310,2726,607],{"class":480},[310,2728,610],{"class":484},[300,2730,2732],{"className":466,"code":2731,"filename":614,"language":469,"meta":306,"style":306},"import { defineNitroConfig } from 'nitropack\u002Fconfig'\nimport evlog from 'evlog\u002Fnitro'\n\nexport default defineNitroConfig({\n  modules: [\n    evlog({\n      sampling: {\n        rates: { info: 10, warn: 50, debug: 5 },\n        keep: [\n          { duration: 1000 },\n          { status: 400 },\n        ],\n      },\n    })\n  ],\n})\n",[292,2733,2734,2752,2766,2770,2782,2790,2798,2806,2838,2846,2858,2870,2876,2880,2886,2892],{"__ignoreMap":306},[310,2735,2736,2738,2740,2742,2744,2746,2748,2750],{"class":312,"line":313},[310,2737,477],{"class":476},[310,2739,481],{"class":480},[310,2741,625],{"class":484},[310,2743,488],{"class":480},[310,2745,491],{"class":476},[310,2747,494],{"class":480},[310,2749,634],{"class":410},[310,2751,500],{"class":480},[310,2753,2754,2756,2758,2760,2762,2764],{"class":312,"line":319},[310,2755,477],{"class":476},[310,2757,507],{"class":484},[310,2759,510],{"class":476},[310,2761,494],{"class":480},[310,2763,649],{"class":410},[310,2765,500],{"class":480},[310,2767,2768],{"class":312,"line":326},[310,2769,323],{"emptyLinePlaceholder":322},[310,2771,2772,2774,2776,2778,2780],{"class":312,"line":332},[310,2773,526],{"class":476},[310,2775,529],{"class":476},[310,2777,625],{"class":532},[310,2779,535],{"class":484},[310,2781,538],{"class":480},[310,2783,2784,2786,2788],{"class":312,"line":338},[310,2785,544],{"class":543},[310,2787,547],{"class":480},[310,2789,550],{"class":484},[310,2791,2792,2794,2796],{"class":312,"line":344},[310,2793,555],{"class":532},[310,2795,535],{"class":484},[310,2797,538],{"class":480},[310,2799,2800,2802,2804],{"class":312,"line":350},[310,2801,2618],{"class":543},[310,2803,547],{"class":480},[310,2805,812],{"class":480},[310,2807,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836],{"class":312,"line":356},[310,2809,2627],{"class":543},[310,2811,547],{"class":480},[310,2813,481],{"class":480},[310,2815,2634],{"class":543},[310,2817,547],{"class":480},[310,2819,2639],{"class":1246},[310,2821,936],{"class":480},[310,2823,2644],{"class":543},[310,2825,547],{"class":480},[310,2827,2229],{"class":1246},[310,2829,936],{"class":480},[310,2831,2653],{"class":543},[310,2833,547],{"class":480},[310,2835,2658],{"class":1246},[310,2837,584],{"class":480},[310,2839,2840,2842,2844],{"class":312,"line":362},[310,2841,2665],{"class":543},[310,2843,547],{"class":480},[310,2845,550],{"class":484},[310,2847,2848,2850,2852,2854,2856],{"class":312,"line":368},[310,2849,2674],{"class":480},[310,2851,2677],{"class":543},[310,2853,547],{"class":480},[310,2855,2682],{"class":1246},[310,2857,584],{"class":480},[310,2859,2860,2862,2864,2866,2868],{"class":312,"line":373},[310,2861,2674],{"class":480},[310,2863,2691],{"class":543},[310,2865,547],{"class":480},[310,2867,2696],{"class":1246},[310,2869,584],{"class":480},[310,2871,2872,2874],{"class":312,"line":379},[310,2873,2703],{"class":484},[310,2875,595],{"class":480},[310,2877,2878],{"class":312,"line":1462},[310,2879,1887],{"class":480},[310,2881,2882,2884],{"class":312,"line":1644},[310,2883,589],{"class":480},[310,2885,610],{"class":484},[310,2887,2888,2890],{"class":312,"line":1902},[310,2889,600],{"class":484},[310,2891,595],{"class":480},[310,2893,2894,2896],{"class":312,"line":2724},[310,2895,607],{"class":480},[310,2897,610],{"class":484},[288,2899,2900],{},"Each level is a percentage from 0 to 100. Levels you don't configure default to 100% (keep everything).",[388,2902,2904],{"id":2903},"custom-tail-sampling","Custom Tail Sampling",[288,2906,2907,2908,2911],{},"For conditions beyond status, duration, and path, use the ",[292,2909,2910],{},"evlog:emit:keep"," hook:",[300,2913,2916],{"className":466,"code":2914,"filename":2915,"language":469,"meta":306,"style":306},"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) ctx.shouldKeep = true\n  })\n})\n","server\u002Fplugins\u002Fevlog-sampling.ts",[292,2917,2918,2938,2970,3014,3043,3049],{"__ignoreMap":306},[310,2919,2920,2922,2924,2926,2928,2930,2932,2934,2936],{"class":312,"line":313},[310,2921,526],{"class":476},[310,2923,529],{"class":476},[310,2925,2299],{"class":532},[310,2927,535],{"class":484},[310,2929,535],{"class":480},[310,2931,2306],{"class":803},[310,2933,592],{"class":480},[310,2935,809],{"class":796},[310,2937,812],{"class":480},[310,2939,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964,2966,2968],{"class":312,"line":319},[310,2941,2317],{"class":484},[310,2943,864],{"class":480},[310,2945,2322],{"class":484},[310,2947,864],{"class":480},[310,2949,2327],{"class":532},[310,2951,535],{"class":543},[310,2953,581],{"class":480},[310,2955,2910],{"class":410},[310,2957,581],{"class":480},[310,2959,936],{"class":480},[310,2961,800],{"class":480},[310,2963,2476],{"class":803},[310,2965,592],{"class":480},[310,2967,809],{"class":796},[310,2969,812],{"class":480},[310,2971,2972,2975,2977,2979,2982,2984,2987,2989,2992,2995,2997,3000,3003,3006,3008,3011],{"class":312,"line":326},[310,2973,2974],{"class":796},"    const",[310,2976,875],{"class":484},[310,2978,823],{"class":480},[310,2980,2981],{"class":484}," ctx",[310,2983,864],{"class":480},[310,2985,2986],{"class":484},"context",[310,2988,864],{"class":480},[310,2990,2991],{"class":484},"user",[310,2993,2994],{"class":476}," as",[310,2996,481],{"class":480},[310,2998,2999],{"class":543}," premium",[310,3001,3002],{"class":480},"?:",[310,3004,3005],{"class":407}," boolean",[310,3007,488],{"class":480},[310,3009,3010],{"class":480}," |",[310,3012,3013],{"class":407}," undefined\n",[310,3015,3016,3019,3021,3023,3026,3029,3031,3033,3035,3038,3040],{"class":312,"line":332},[310,3017,3018],{"class":476},"    if",[310,3020,800],{"class":543},[310,3022,2991],{"class":484},[310,3024,3025],{"class":480},"?.",[310,3027,3028],{"class":484},"premium",[310,3030,2503],{"class":543},[310,3032,2476],{"class":484},[310,3034,864],{"class":480},[310,3036,3037],{"class":484},"shouldKeep",[310,3039,823],{"class":480},[310,3041,3042],{"class":973}," true\n",[310,3044,3045,3047],{"class":312,"line":338},[310,3046,1457],{"class":480},[310,3048,610],{"class":543},[310,3050,3051,3053],{"class":312,"line":344},[310,3052,607],{"class":480},[310,3054,610],{"class":484},[1650,3056,3057,3058,3061],{"color":1652,"icon":13},"Errors are always kept by default. You have to explicitly set ",[292,3059,3060],{},"error: 0"," to drop them.",[384,3063,3065],{"id":3064},"next-steps","Next Steps",[288,3067,3068,3069,3071],{},"Deepen your ",[2095,3070,130],{}," integration:",[3073,3074,3075,3081,3086,3091],"ul",{},[3076,3077,3078,3080],"li",{},[1672,3079,46],{"href":47},": Design comprehensive events with context layering",[3076,3082,3083,3085],{},[1672,3084,189],{"href":194},": Send logs to Axiom, Sentry, PostHog, and more",[3076,3087,3088,3090],{},[1672,3089,81],{"href":82},": Control log volume with head and tail sampling",[3076,3092,3093,3095,3096,1278,3098,1282,3100,3102],{},[1672,3094,51],{"href":52},": Throw errors with ",[292,3097,1277],{},[292,3099,1281],{},[292,3101,1285],{}," fields",[3104,3105,3106],"style",{},"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 .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 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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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}",{"title":306,"searchDepth":319,"depth":319,"links":3108},[3109,3113,3114,3115,3118,3122,3126],{"id":386,"depth":319,"text":20,"children":3110},[3111,3112],{"id":390,"depth":326,"text":391},{"id":460,"depth":326,"text":461},{"id":726,"depth":319,"text":46},{"id":1267,"depth":319,"text":1268},{"id":1667,"depth":319,"text":76,"children":3116},[3117],{"id":1691,"depth":326,"text":1692},{"id":2106,"depth":319,"text":2107,"children":3119},[3120,3121],{"id":2113,"depth":326,"text":2114},{"id":2364,"depth":326,"text":2365},{"id":1687,"depth":319,"text":81,"children":3123},[3124,3125],{"id":2538,"depth":326,"text":2539},{"id":2903,"depth":326,"text":2904},{"id":3064,"depth":319,"text":3065},"Automatic wide events, structured errors, drain adapters, enrichers, and tail sampling in Nitro v2 and v3 applications.","md",null,{},{"title":130,"icon":133},{"title":130,"description":3127},"1Oze79MU7JhqH2LGtFGaj-uJ2Dwdhx5wajI1Efkz9z4",[3135,3137],{"title":125,"path":126,"stem":127,"description":3136,"icon":128,"children":-1},"Automatic wide events, structured errors, drain adapters, enrichers, and tail sampling in SvelteKit applications.",{"title":135,"path":136,"stem":137,"description":3138,"icon":138,"children":-1},"Automatic wide events, structured errors, and logging in TanStack Start API routes and server functions.",1775319539450]