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