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