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