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