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