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