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