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