[{"data":1,"prerenderedAt":5957},["ShallowReactive",2],{"navigation_docs":3,"evlog-docs-home":529},[4,29,76,122,304,436,495],{"title":5,"path":6,"stem":7,"children":8,"page":28},"Start","\u002Fstart","1.start",[9,13,18,23],{"title":10,"path":11,"stem":12},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction",{"title":14,"path":15,"stem":16,"icon":17},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":19,"path":20,"stem":21,"icon":22},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":24,"path":25,"stem":26,"icon":27},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":30,"path":31,"stem":32,"children":33,"page":28},"Learn","\u002Flearn","2.learn",[34,38,43,48,53,58,62,67,72],{"title":35,"path":36,"stem":37},"Learn evlog","\u002Flearn\u002Foverview","2.learn\u002F0.overview",{"title":39,"path":40,"stem":41,"icon":42},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":44,"path":45,"stem":46,"icon":47},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":49,"path":50,"stem":51,"icon":52},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":54,"path":55,"stem":56,"icon":57},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":59,"path":60,"stem":61},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling",{"title":63,"path":64,"stem":65,"icon":66},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":68,"path":69,"stem":70,"icon":71},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":73,"path":74,"stem":75},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs",{"title":77,"path":78,"stem":79,"children":80,"page":28},"CLI","\u002Fcli","3.cli",[81,85,90,95,99,103,108,113,118],{"title":82,"path":83,"stem":84},"evlog CLI","\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":86,"path":87,"stem":88,"icon":89},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":91,"path":92,"stem":93,"icon":94},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":96,"path":97,"stem":98},"Map rules","\u002Fcli\u002Frules","3.cli\u002F3.rules",{"title":100,"path":101,"stem":102},"Map scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring",{"title":104,"path":105,"stem":106,"icon":107},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":109,"path":110,"stem":111,"icon":112},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":114,"path":115,"stem":116,"icon":117},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":119,"path":120,"stem":121},"evlog agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents",{"title":123,"path":124,"stem":125,"children":126,"page":28},"Integrate","\u002Fintegrate","4.integrate",[127,132,216],{"title":128,"path":129,"stem":130,"icon":131},"Overview","\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":133,"path":134,"stem":135,"children":136,"page":28},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[137,141,171,196],{"title":128,"path":138,"stem":139,"icon":140},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview","i-lucide-list",{"title":142,"path":143,"stem":144,"children":145,"page":28},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[146,151,156,161,166],{"title":147,"path":148,"stem":149,"icon":150},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":152,"path":153,"stem":154,"icon":155},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":157,"path":158,"stem":159,"icon":160},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":162,"path":163,"stem":164,"icon":165},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":167,"path":168,"stem":169,"icon":170},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":172,"path":173,"stem":174,"children":175,"page":28},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[176,181,186,191],{"title":177,"path":178,"stem":179,"icon":180},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":182,"path":183,"stem":184,"icon":185},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":187,"path":188,"stem":189,"icon":190},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":192,"path":193,"stem":194,"icon":195},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":197,"path":198,"stem":199,"children":200,"page":28},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[201,206,211],{"title":202,"path":203,"stem":204,"icon":205},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":207,"path":208,"stem":209,"icon":210},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":212,"path":213,"stem":214,"icon":215},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":217,"path":218,"stem":219,"children":220,"page":28},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[221,225,230,235,240,245,250,255,260,265,270,275,280,285,289,294,299],{"title":128,"path":222,"stem":223,"icon":224},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":226,"path":227,"stem":228,"icon":229},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":231,"path":232,"stem":233,"icon":234},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":236,"path":237,"stem":238,"icon":239},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":241,"path":242,"stem":243,"icon":244},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":246,"path":247,"stem":248,"icon":249},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":251,"path":252,"stem":253,"icon":254},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":256,"path":257,"stem":258,"icon":259},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":261,"path":262,"stem":263,"icon":264},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":266,"path":267,"stem":268,"icon":269},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":271,"path":272,"stem":273,"icon":274},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":276,"path":277,"stem":278,"icon":279},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":281,"path":282,"stem":283,"icon":284},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":286,"path":287,"stem":288,"icon":71},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":290,"path":291,"stem":292,"icon":293},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":295,"path":296,"stem":297,"icon":298},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":300,"path":301,"stem":302,"icon":303},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":305,"path":306,"stem":307,"children":308,"page":28},"Use Cases","\u002Fuse-cases","5.use-cases",[309,312,317,346,374,407,427,432],{"title":305,"path":310,"stem":311},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":313,"path":314,"stem":315,"icon":316},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":318,"icon":319,"path":320,"stem":321,"children":322,"page":28},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[323,326,331,336,341],{"title":128,"path":324,"stem":325,"icon":140},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":327,"path":328,"stem":329,"icon":330},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":332,"path":333,"stem":334,"icon":335},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":337,"path":338,"stem":339,"icon":340},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":342,"path":343,"stem":344,"icon":345},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":347,"icon":348,"path":349,"stem":350,"children":351,"page":28},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[352,355,360,365,369],{"title":128,"path":353,"stem":354,"icon":140},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":356,"path":357,"stem":358,"icon":359},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":361,"path":362,"stem":363,"icon":364},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":366,"path":367,"stem":368,"icon":316},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":370,"path":371,"stem":372,"icon":373},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance","i-lucide-gauge",{"title":375,"icon":376,"path":377,"stem":378,"children":379,"page":28},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[380,383,388,393,398,402],{"title":128,"path":381,"stem":382,"icon":140},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":384,"path":385,"stem":386,"icon":387},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":389,"path":390,"stem":391,"icon":392},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":394,"path":395,"stem":396,"icon":397},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":399,"path":400,"stem":401,"icon":376},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":403,"path":404,"stem":405,"icon":406},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes","i-lucide-book-open",{"title":342,"icon":373,"path":408,"stem":409,"children":410,"page":28},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[411,414,419,423],{"title":128,"path":412,"stem":413,"icon":140},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":415,"path":416,"stem":417,"icon":418},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":420,"path":421,"stem":422},"Telemetry Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest",{"title":424,"path":425,"stem":426,"icon":406},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":428,"path":429,"stem":430,"icon":431},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":433,"path":434,"stem":435},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve",{"title":437,"path":438,"stem":439,"children":440,"page":28},"Extend","\u002Fextend","6.extend",[441,445,450,455,459,464,468,472,476,481,486,491],{"title":128,"path":442,"stem":443,"icon":444},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":446,"path":447,"stem":448,"icon":449},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":451,"path":452,"stem":453,"icon":454},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":456,"path":457,"stem":458,"icon":449},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":460,"path":461,"stem":462,"icon":463},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":403,"path":465,"stem":466,"icon":467},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":469,"path":470,"stem":471},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":473,"path":474,"stem":475,"icon":431},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":477,"path":478,"stem":479,"icon":480},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling","i-lucide-filter",{"title":482,"path":483,"stem":484,"icon":485},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":487,"path":488,"stem":489,"icon":490},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":492,"path":493,"stem":494},"Drain Pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline",{"title":424,"path":496,"stem":497,"children":498,"page":28},"\u002Freference","7.reference",[499,504,507,512,516,521,525],{"title":500,"path":501,"stem":502,"icon":503},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":370,"path":505,"stem":506,"icon":373},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":508,"path":509,"stem":510,"icon":511},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":513,"path":514,"stem":515,"icon":376},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":517,"path":518,"stem":519,"icon":520},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":522,"path":523,"stem":524,"icon":431},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":526,"path":527,"stem":528},"Log cost","\u002Freference\u002Fcost","7.reference\u002F7.cost",{"id":530,"title":531,"body":532,"description":5949,"extension":5950,"links":5951,"meta":5952,"navigation":28,"path":5953,"seo":5954,"stem":5955,"__hash__":5956},"docs\u002F0.landing.md","evlog — Digging through logs is not observability. It's hope.",{"type":533,"value":534,"toc":5947},"minimark",[535,553,556,5809,5937,5943],[536,537,538,550],"landing-hero",{},[539,540,542,543,546,547,549],"template",{"v-slot:title":541},"","Digging through logs ",[544,545],"br",{}," is not observability. ",[544,548],{}," It's hope",[539,551,552],{"v-slot:description":541},"A modern TypeScript logger built for everything you ship. Simple logs, wide events, and structured errors: one API, every context.",[554,555],"landing-logos",{},[557,558,559],"landing-features",{},[539,560,561,577,590,606,618,631,643,658,674,689],{"v-slot:body":541},[562,563,565,568,574],"features-feature-simple-api",{"link":25,"link-label":564},"Quick start guide",[539,566,567],{"v-slot:headline":541},"Simple API",[539,569,570,571,573],{"v-slot:title":541},"Set context. ",[544,572],{}," Get answers",[539,575,576],{"v-slot:description":541},"Accumulate context with log.set, throw structured errors with why and fix, group recurring errors in typed catalogs. One wide event captures everything, whether the request succeeds or fails.",[578,579,581,584,587],"features-feature-agent-ready",{"link":523,"link-label":580},"Agent skills setup",[539,582,583],{"v-slot:headline":541},"Agent Ready",[539,585,586],{"v-slot:title":541},"Built for agents",[539,588,589],{"v-slot:description":541},"Structured fields, machine-readable context, and actionable metadata that give AI agents everything they need to diagnose and resolve issues on their own. Enable the file system drain to write NDJSON logs locally and let agents read them directly.",[591,592,594,597,603],"features-feature-cli-map",{"link":92,"link-label":593},"evlog map guide",[539,595,596],{"v-slot:headline":541},"Observability Score",[539,598,599,600,602],{"v-slot:title":541},"One command. ",[544,601],{}," Every blind spot",[539,604,605],{"v-slot:description":541},"The first time most teams learn a handler logs nothing is mid-incident. Think Lighthouse, but for observability: a score for the context your app will give you when it breaks, and the exact list of fixes to raise it, before it matters.",[607,608,610,612,615],"features-feature-adapters",{"link":138,"link-label":609},"Explore adapters",[539,611,492],{"v-slot:headline":541},[539,613,614],{"v-slot:title":541},"Send everywhere",[539,616,617],{"v-slot:description":541},"Batched writes, automatic retries with backoff, and fan-out to multiple destinations. Your logs flow through a pipeline that never blocks your response.",[619,620,622,625,628],"features-feature-client-drain",{"link":314,"link-label":621},"Client logging guide",[539,623,624],{"v-slot:headline":541},"Client Logs",[539,626,627],{"v-slot:title":541},"See the full picture",[539,629,630],{"v-slot:description":541},"Capture browser events and drain them to your server. Automatic batching, retries, and page-aware flushing with the same pipeline from client to server.",[632,633,635,637,640],"features-feature-sampling",{"link":60,"link-label":634},"Sampling guide",[539,636,59],{"v-slot:headline":541},[539,638,639],{"v-slot:title":541},"Keep what matters",[539,641,642],{"v-slot:description":541},"Two-tier filtering: head sampling drops noise by level, tail sampling rescues critical events. Never miss errors, slow requests, or critical paths.",[644,645,647,649,655],"features-feature-audit",{"link":381,"link-label":646},"Audit logs guide",[539,648,375],{"v-slot:headline":541},[539,650,651,652,654],{"v-slot:title":541},"Compliance-ready ",[544,653],{}," by composition",[539,656,657],{"v-slot:description":541},"First-class who-did-what trails as a thin layer on top of wide events. One enricher, one drain wrapper, one helper. Tamper-evident hash chains, denied actions, redact-aware diffs, idempotency keys for safe retries, and typed action catalogs for refactor-safe alerting, all from the main entrypoint, no parallel pipeline.",[659,660,662,665,671],"features-feature-ai-sdk",{"link":324,"link-label":661},"AI SDK integration",[539,663,664],{"v-slot:headline":541},"AI Observability",[539,666,667,668,670],{"v-slot:title":541},"Make AI calls ",[544,669],{}," observable",[539,672,673],{"v-slot:description":541},"Your AI endpoints are black boxes. You don't know how many tokens each request burns, which tools the model called, or how fast the stream was. Wrap your model with one line and every call is captured into the wide event. Cost estimation, tool execution timing, streaming performance, cache hits, reasoning tokens, and multi-step agent breakdowns.",[675,676,678,680,686],"features-feature-performance",{"link":505,"link-label":677},"Benchmark results",[539,679,370],{"v-slot:headline":541},[539,681,682,683,685],{"v-slot:title":541},"Add logging, ",[544,684],{}," not overhead",[539,687,688],{"v-slot:description":541},"Zero dependencies, ~6 kB gzip, ~3µs per request. Benchmarked against pino, consola, and winston. 7.7x faster than pino in the wide event pattern (1 correlated event vs 4 separate log lines), competitive on every other path.",[690,691,693,695,698,701,1134,1535,1962,2343,2863,3264,3420,3771,4143,4481,4791,5242,5500],"features-feature-frameworks",{"link":222,"link-label":692},"Framework integrations",[539,694,217],{"v-slot:headline":541},[539,696,697],{"v-slot:title":541},"Your stack. Covered",[539,699,700],{"v-slot:description":541},"Native integrations for every major framework. One import, zero config, same API everywhere. The Vite plugin adds auto-init, debug stripping, and source location to any Vite-based stack.",[539,702,703],{"v-slot:nuxt":541},[704,705,710],"pre",{"className":706,"code":707,"filename":708,"language":709,"meta":541,"style":541},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const { cartId } = await readBody(event)\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return { orderId: charge.id }\n})\n","server\u002Fapi\u002Fcheckout.post.ts","ts",[711,712,713,754,777,805,812,840,901,906,937,974,979,1003,1016,1031,1051,1068,1085,1093,1099,1104,1126],"code",{"__ignoreMap":541},[714,715,718,722,725,729,733,737,741,745,748,751],"span",{"class":716,"line":717},"line",1,[714,719,721],{"class":720},"s7zQu","export",[714,723,724],{"class":720}," default",[714,726,728],{"class":727},"s2Zo4"," defineEventHandler",[714,730,732],{"class":731},"sTEyZ","(",[714,734,736],{"class":735},"spNyl","async",[714,738,740],{"class":739},"sMK4o"," (",[714,742,744],{"class":743},"sHdIc","event",[714,746,747],{"class":739},")",[714,749,750],{"class":735}," =>",[714,752,753],{"class":739}," {\n",[714,755,757,760,763,766,769,772,774],{"class":716,"line":756},2,[714,758,759],{"class":735},"  const",[714,761,762],{"class":731}," log",[714,764,765],{"class":739}," =",[714,767,768],{"class":727}," useLogger",[714,770,732],{"class":771},"swJcz",[714,773,744],{"class":731},[714,775,776],{"class":771},")\n",[714,778,780,782,785,788,791,793,796,799,801,803],{"class":716,"line":779},3,[714,781,759],{"class":735},[714,783,784],{"class":739}," {",[714,786,787],{"class":731}," cartId",[714,789,790],{"class":739}," }",[714,792,765],{"class":739},[714,794,795],{"class":720}," await",[714,797,798],{"class":727}," readBody",[714,800,732],{"class":771},[714,802,744],{"class":731},[714,804,776],{"class":771},[714,806,808],{"class":716,"line":807},4,[714,809,811],{"emptyLinePlaceholder":810},true,"\n",[714,813,815,817,820,822,824,827,830,833,835,838],{"class":716,"line":814},5,[714,816,759],{"class":735},[714,818,819],{"class":731}," cart",[714,821,765],{"class":739},[714,823,795],{"class":720},[714,825,826],{"class":731}," db",[714,828,829],{"class":739},".",[714,831,832],{"class":727},"findCart",[714,834,732],{"class":771},[714,836,837],{"class":731},"cartId",[714,839,776],{"class":771},[714,841,843,846,848,851,853,856,858,861,863,866,868,870,872,875,877,880,883,886,888,890,892,895,897,899],{"class":716,"line":842},6,[714,844,845],{"class":731},"  log",[714,847,829],{"class":739},[714,849,850],{"class":727},"set",[714,852,732],{"class":771},[714,854,855],{"class":739},"{",[714,857,819],{"class":771},[714,859,860],{"class":739},":",[714,862,784],{"class":739},[714,864,865],{"class":771}," items",[714,867,860],{"class":739},[714,869,819],{"class":731},[714,871,829],{"class":739},[714,873,874],{"class":731},"items",[714,876,829],{"class":739},[714,878,879],{"class":731},"length",[714,881,882],{"class":739},",",[714,884,885],{"class":771}," total",[714,887,860],{"class":739},[714,889,819],{"class":731},[714,891,829],{"class":739},[714,893,894],{"class":731},"total",[714,896,790],{"class":739},[714,898,790],{"class":739},[714,900,776],{"class":771},[714,902,904],{"class":716,"line":903},7,[714,905,811],{"emptyLinePlaceholder":810},[714,907,909,911,914,916,918,921,923,926,928,931,933,935],{"class":716,"line":908},8,[714,910,759],{"class":735},[714,912,913],{"class":731}," charge",[714,915,765],{"class":739},[714,917,795],{"class":720},[714,919,920],{"class":731}," stripe",[714,922,829],{"class":739},[714,924,925],{"class":727},"charge",[714,927,732],{"class":771},[714,929,930],{"class":731},"cart",[714,932,829],{"class":739},[714,934,894],{"class":731},[714,936,776],{"class":771},[714,938,940,942,944,946,948,950,952,954,956,959,961,963,965,968,970,972],{"class":716,"line":939},9,[714,941,845],{"class":731},[714,943,829],{"class":739},[714,945,850],{"class":727},[714,947,732],{"class":771},[714,949,855],{"class":739},[714,951,920],{"class":771},[714,953,860],{"class":739},[714,955,784],{"class":739},[714,957,958],{"class":771}," chargeId",[714,960,860],{"class":739},[714,962,913],{"class":731},[714,964,829],{"class":739},[714,966,967],{"class":731},"id",[714,969,790],{"class":739},[714,971,790],{"class":739},[714,973,776],{"class":771},[714,975,977],{"class":716,"line":976},10,[714,978,811],{"emptyLinePlaceholder":810},[714,980,982,985,987,990,992,994,997,1000],{"class":716,"line":981},11,[714,983,984],{"class":720},"  if",[714,986,740],{"class":771},[714,988,989],{"class":739},"!",[714,991,925],{"class":731},[714,993,829],{"class":739},[714,995,996],{"class":731},"success",[714,998,999],{"class":771},") ",[714,1001,1002],{"class":739},"{\n",[714,1004,1006,1009,1012,1014],{"class":716,"line":1005},12,[714,1007,1008],{"class":720},"    throw",[714,1010,1011],{"class":727}," createError",[714,1013,732],{"class":771},[714,1015,1002],{"class":739},[714,1017,1019,1022,1024,1028],{"class":716,"line":1018},13,[714,1020,1021],{"class":771},"      status",[714,1023,860],{"class":739},[714,1025,1027],{"class":1026},"sbssI"," 402",[714,1029,1030],{"class":739},",\n",[714,1032,1034,1037,1039,1042,1046,1049],{"class":716,"line":1033},14,[714,1035,1036],{"class":771},"      message",[714,1038,860],{"class":739},[714,1040,1041],{"class":739}," '",[714,1043,1045],{"class":1044},"sfazB","Payment failed",[714,1047,1048],{"class":739},"'",[714,1050,1030],{"class":739},[714,1052,1054,1057,1059,1061,1063,1066],{"class":716,"line":1053},15,[714,1055,1056],{"class":771},"      why",[714,1058,860],{"class":739},[714,1060,913],{"class":731},[714,1062,829],{"class":739},[714,1064,1065],{"class":731},"decline_reason",[714,1067,1030],{"class":739},[714,1069,1071,1074,1076,1078,1081,1083],{"class":716,"line":1070},16,[714,1072,1073],{"class":771},"      fix",[714,1075,860],{"class":739},[714,1077,1041],{"class":739},[714,1079,1080],{"class":1044},"Try a different payment method",[714,1082,1048],{"class":739},[714,1084,1030],{"class":739},[714,1086,1088,1091],{"class":716,"line":1087},17,[714,1089,1090],{"class":739},"    }",[714,1092,776],{"class":771},[714,1094,1096],{"class":716,"line":1095},18,[714,1097,1098],{"class":739},"  }\n",[714,1100,1102],{"class":716,"line":1101},19,[714,1103,811],{"emptyLinePlaceholder":810},[714,1105,1107,1110,1112,1115,1117,1119,1121,1123],{"class":716,"line":1106},20,[714,1108,1109],{"class":720},"  return",[714,1111,784],{"class":739},[714,1113,1114],{"class":771}," orderId",[714,1116,860],{"class":739},[714,1118,913],{"class":731},[714,1120,829],{"class":739},[714,1122,967],{"class":731},[714,1124,1125],{"class":739}," }\n",[714,1127,1129,1132],{"class":716,"line":1128},21,[714,1130,1131],{"class":739},"}",[714,1133,776],{"class":731},[539,1135,1136],{"v-slot:nextjs":541},[704,1137,1140],{"className":706,"code":1138,"filename":1139,"language":709,"meta":541,"style":541},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { createError } from 'evlog'\n\nexport const POST = withEvlog(async (req) => {\n  const log = useLogger()\n  const { cartId } = await req.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return Response.json({ orderId: charge.id })\n})\n","app\u002Fapi\u002Fcheckout\u002Froute.ts",[711,1141,1142,1169,1188,1192,1222,1235,1259,1263,1285,1335,1339,1365,1399,1403,1421,1431,1441,1455,1469,1483,1489,1493,1498,1528],{"__ignoreMap":541},[714,1143,1144,1147,1149,1152,1154,1156,1158,1161,1163,1166],{"class":716,"line":717},[714,1145,1146],{"class":720},"import",[714,1148,784],{"class":739},[714,1150,1151],{"class":731}," withEvlog",[714,1153,882],{"class":739},[714,1155,768],{"class":731},[714,1157,790],{"class":739},[714,1159,1160],{"class":720}," from",[714,1162,1041],{"class":739},[714,1164,1165],{"class":1044},"@\u002Flib\u002Fevlog",[714,1167,1168],{"class":739},"'\n",[714,1170,1171,1173,1175,1177,1179,1181,1183,1186],{"class":716,"line":756},[714,1172,1146],{"class":720},[714,1174,784],{"class":739},[714,1176,1011],{"class":731},[714,1178,790],{"class":739},[714,1180,1160],{"class":720},[714,1182,1041],{"class":739},[714,1184,1185],{"class":1044},"evlog",[714,1187,1168],{"class":739},[714,1189,1190],{"class":716,"line":779},[714,1191,811],{"emptyLinePlaceholder":810},[714,1193,1194,1196,1199,1202,1205,1207,1209,1211,1213,1216,1218,1220],{"class":716,"line":807},[714,1195,721],{"class":720},[714,1197,1198],{"class":735}," const",[714,1200,1201],{"class":731}," POST ",[714,1203,1204],{"class":739},"=",[714,1206,1151],{"class":727},[714,1208,732],{"class":731},[714,1210,736],{"class":735},[714,1212,740],{"class":739},[714,1214,1215],{"class":743},"req",[714,1217,747],{"class":739},[714,1219,750],{"class":735},[714,1221,753],{"class":739},[714,1223,1224,1226,1228,1230,1232],{"class":716,"line":814},[714,1225,759],{"class":735},[714,1227,762],{"class":731},[714,1229,765],{"class":739},[714,1231,768],{"class":727},[714,1233,1234],{"class":771},"()\n",[714,1236,1237,1239,1241,1243,1245,1247,1249,1252,1254,1257],{"class":716,"line":842},[714,1238,759],{"class":735},[714,1240,784],{"class":739},[714,1242,787],{"class":731},[714,1244,790],{"class":739},[714,1246,765],{"class":739},[714,1248,795],{"class":720},[714,1250,1251],{"class":731}," req",[714,1253,829],{"class":739},[714,1255,1256],{"class":727},"json",[714,1258,1234],{"class":771},[714,1260,1261],{"class":716,"line":903},[714,1262,811],{"emptyLinePlaceholder":810},[714,1264,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283],{"class":716,"line":908},[714,1266,759],{"class":735},[714,1268,819],{"class":731},[714,1270,765],{"class":739},[714,1272,795],{"class":720},[714,1274,826],{"class":731},[714,1276,829],{"class":739},[714,1278,832],{"class":727},[714,1280,732],{"class":771},[714,1282,837],{"class":731},[714,1284,776],{"class":771},[714,1286,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,1329,1331,1333],{"class":716,"line":939},[714,1288,845],{"class":731},[714,1290,829],{"class":739},[714,1292,850],{"class":727},[714,1294,732],{"class":771},[714,1296,855],{"class":739},[714,1298,819],{"class":771},[714,1300,860],{"class":739},[714,1302,784],{"class":739},[714,1304,865],{"class":771},[714,1306,860],{"class":739},[714,1308,819],{"class":731},[714,1310,829],{"class":739},[714,1312,874],{"class":731},[714,1314,829],{"class":739},[714,1316,879],{"class":731},[714,1318,882],{"class":739},[714,1320,885],{"class":771},[714,1322,860],{"class":739},[714,1324,819],{"class":731},[714,1326,829],{"class":739},[714,1328,894],{"class":731},[714,1330,790],{"class":739},[714,1332,790],{"class":739},[714,1334,776],{"class":771},[714,1336,1337],{"class":716,"line":976},[714,1338,811],{"emptyLinePlaceholder":810},[714,1340,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363],{"class":716,"line":981},[714,1342,759],{"class":735},[714,1344,913],{"class":731},[714,1346,765],{"class":739},[714,1348,795],{"class":720},[714,1350,920],{"class":731},[714,1352,829],{"class":739},[714,1354,925],{"class":727},[714,1356,732],{"class":771},[714,1358,930],{"class":731},[714,1360,829],{"class":739},[714,1362,894],{"class":731},[714,1364,776],{"class":771},[714,1366,1367,1369,1371,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397],{"class":716,"line":1005},[714,1368,845],{"class":731},[714,1370,829],{"class":739},[714,1372,850],{"class":727},[714,1374,732],{"class":771},[714,1376,855],{"class":739},[714,1378,920],{"class":771},[714,1380,860],{"class":739},[714,1382,784],{"class":739},[714,1384,958],{"class":771},[714,1386,860],{"class":739},[714,1388,913],{"class":731},[714,1390,829],{"class":739},[714,1392,967],{"class":731},[714,1394,790],{"class":739},[714,1396,790],{"class":739},[714,1398,776],{"class":771},[714,1400,1401],{"class":716,"line":1018},[714,1402,811],{"emptyLinePlaceholder":810},[714,1404,1405,1407,1409,1411,1413,1415,1417,1419],{"class":716,"line":1033},[714,1406,984],{"class":720},[714,1408,740],{"class":771},[714,1410,989],{"class":739},[714,1412,925],{"class":731},[714,1414,829],{"class":739},[714,1416,996],{"class":731},[714,1418,999],{"class":771},[714,1420,1002],{"class":739},[714,1422,1423,1425,1427,1429],{"class":716,"line":1053},[714,1424,1008],{"class":720},[714,1426,1011],{"class":727},[714,1428,732],{"class":771},[714,1430,1002],{"class":739},[714,1432,1433,1435,1437,1439],{"class":716,"line":1070},[714,1434,1021],{"class":771},[714,1436,860],{"class":739},[714,1438,1027],{"class":1026},[714,1440,1030],{"class":739},[714,1442,1443,1445,1447,1449,1451,1453],{"class":716,"line":1087},[714,1444,1036],{"class":771},[714,1446,860],{"class":739},[714,1448,1041],{"class":739},[714,1450,1045],{"class":1044},[714,1452,1048],{"class":739},[714,1454,1030],{"class":739},[714,1456,1457,1459,1461,1463,1465,1467],{"class":716,"line":1095},[714,1458,1056],{"class":771},[714,1460,860],{"class":739},[714,1462,913],{"class":731},[714,1464,829],{"class":739},[714,1466,1065],{"class":731},[714,1468,1030],{"class":739},[714,1470,1471,1473,1475,1477,1479,1481],{"class":716,"line":1101},[714,1472,1073],{"class":771},[714,1474,860],{"class":739},[714,1476,1041],{"class":739},[714,1478,1080],{"class":1044},[714,1480,1048],{"class":739},[714,1482,1030],{"class":739},[714,1484,1485,1487],{"class":716,"line":1106},[714,1486,1090],{"class":739},[714,1488,776],{"class":771},[714,1490,1491],{"class":716,"line":1128},[714,1492,1098],{"class":739},[714,1494,1496],{"class":716,"line":1495},22,[714,1497,811],{"emptyLinePlaceholder":810},[714,1499,1501,1503,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526],{"class":716,"line":1500},23,[714,1502,1109],{"class":720},[714,1504,1505],{"class":731}," Response",[714,1507,829],{"class":739},[714,1509,1256],{"class":727},[714,1511,732],{"class":771},[714,1513,855],{"class":739},[714,1515,1114],{"class":771},[714,1517,860],{"class":739},[714,1519,913],{"class":731},[714,1521,829],{"class":739},[714,1523,967],{"class":731},[714,1525,790],{"class":739},[714,1527,776],{"class":771},[714,1529,1531,1533],{"class":716,"line":1530},24,[714,1532,1131],{"class":739},[714,1534,776],{"class":731},[539,1536,1537],{"v-slot:sveltekit":541},[704,1538,1541],{"className":706,"code":1539,"filename":1540,"language":709,"meta":541,"style":541},"import { json } from '@sveltejs\u002Fkit'\nimport { createError } from 'evlog'\nimport { useLogger } from 'evlog\u002Fsveltekit'\nimport type { RequestHandler } from '.\u002F$types'\n\nexport const POST: RequestHandler = async ({ request }) => {\n  const log = useLogger()\n  const { cartId } = await request.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return json({ orderId: charge.id })\n}\n","src\u002Froutes\u002Fapi\u002Fcheckout\u002F+server.ts",[711,1542,1543,1563,1581,1600,1623,1627,1659,1671,1693,1697,1719,1769,1773,1799,1833,1837,1855,1865,1875,1889,1903,1917,1923,1927,1931,1956],{"__ignoreMap":541},[714,1544,1545,1547,1549,1552,1554,1556,1558,1561],{"class":716,"line":717},[714,1546,1146],{"class":720},[714,1548,784],{"class":739},[714,1550,1551],{"class":731}," json",[714,1553,790],{"class":739},[714,1555,1160],{"class":720},[714,1557,1041],{"class":739},[714,1559,1560],{"class":1044},"@sveltejs\u002Fkit",[714,1562,1168],{"class":739},[714,1564,1565,1567,1569,1571,1573,1575,1577,1579],{"class":716,"line":756},[714,1566,1146],{"class":720},[714,1568,784],{"class":739},[714,1570,1011],{"class":731},[714,1572,790],{"class":739},[714,1574,1160],{"class":720},[714,1576,1041],{"class":739},[714,1578,1185],{"class":1044},[714,1580,1168],{"class":739},[714,1582,1583,1585,1587,1589,1591,1593,1595,1598],{"class":716,"line":779},[714,1584,1146],{"class":720},[714,1586,784],{"class":739},[714,1588,768],{"class":731},[714,1590,790],{"class":739},[714,1592,1160],{"class":720},[714,1594,1041],{"class":739},[714,1596,1597],{"class":1044},"evlog\u002Fsveltekit",[714,1599,1168],{"class":739},[714,1601,1602,1604,1607,1609,1612,1614,1616,1618,1621],{"class":716,"line":807},[714,1603,1146],{"class":720},[714,1605,1606],{"class":720}," type",[714,1608,784],{"class":739},[714,1610,1611],{"class":731}," RequestHandler",[714,1613,790],{"class":739},[714,1615,1160],{"class":720},[714,1617,1041],{"class":739},[714,1619,1620],{"class":1044},".\u002F$types",[714,1622,1168],{"class":739},[714,1624,1625],{"class":716,"line":814},[714,1626,811],{"emptyLinePlaceholder":810},[714,1628,1629,1631,1633,1636,1638,1641,1643,1646,1649,1652,1655,1657],{"class":716,"line":842},[714,1630,721],{"class":720},[714,1632,1198],{"class":735},[714,1634,1635],{"class":731}," POST",[714,1637,860],{"class":739},[714,1639,1611],{"class":1640},"sBMFI",[714,1642,765],{"class":739},[714,1644,1645],{"class":735}," async",[714,1647,1648],{"class":739}," ({",[714,1650,1651],{"class":743}," request",[714,1653,1654],{"class":739}," })",[714,1656,750],{"class":735},[714,1658,753],{"class":739},[714,1660,1661,1663,1665,1667,1669],{"class":716,"line":903},[714,1662,759],{"class":735},[714,1664,762],{"class":731},[714,1666,765],{"class":739},[714,1668,768],{"class":727},[714,1670,1234],{"class":771},[714,1672,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691],{"class":716,"line":908},[714,1674,759],{"class":735},[714,1676,784],{"class":739},[714,1678,787],{"class":731},[714,1680,790],{"class":739},[714,1682,765],{"class":739},[714,1684,795],{"class":720},[714,1686,1651],{"class":731},[714,1688,829],{"class":739},[714,1690,1256],{"class":727},[714,1692,1234],{"class":771},[714,1694,1695],{"class":716,"line":939},[714,1696,811],{"emptyLinePlaceholder":810},[714,1698,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717],{"class":716,"line":976},[714,1700,759],{"class":735},[714,1702,819],{"class":731},[714,1704,765],{"class":739},[714,1706,795],{"class":720},[714,1708,826],{"class":731},[714,1710,829],{"class":739},[714,1712,832],{"class":727},[714,1714,732],{"class":771},[714,1716,837],{"class":731},[714,1718,776],{"class":771},[714,1720,1721,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767],{"class":716,"line":981},[714,1722,845],{"class":731},[714,1724,829],{"class":739},[714,1726,850],{"class":727},[714,1728,732],{"class":771},[714,1730,855],{"class":739},[714,1732,819],{"class":771},[714,1734,860],{"class":739},[714,1736,784],{"class":739},[714,1738,865],{"class":771},[714,1740,860],{"class":739},[714,1742,819],{"class":731},[714,1744,829],{"class":739},[714,1746,874],{"class":731},[714,1748,829],{"class":739},[714,1750,879],{"class":731},[714,1752,882],{"class":739},[714,1754,885],{"class":771},[714,1756,860],{"class":739},[714,1758,819],{"class":731},[714,1760,829],{"class":739},[714,1762,894],{"class":731},[714,1764,790],{"class":739},[714,1766,790],{"class":739},[714,1768,776],{"class":771},[714,1770,1771],{"class":716,"line":1005},[714,1772,811],{"emptyLinePlaceholder":810},[714,1774,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797],{"class":716,"line":1018},[714,1776,759],{"class":735},[714,1778,913],{"class":731},[714,1780,765],{"class":739},[714,1782,795],{"class":720},[714,1784,920],{"class":731},[714,1786,829],{"class":739},[714,1788,925],{"class":727},[714,1790,732],{"class":771},[714,1792,930],{"class":731},[714,1794,829],{"class":739},[714,1796,894],{"class":731},[714,1798,776],{"class":771},[714,1800,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1829,1831],{"class":716,"line":1033},[714,1802,845],{"class":731},[714,1804,829],{"class":739},[714,1806,850],{"class":727},[714,1808,732],{"class":771},[714,1810,855],{"class":739},[714,1812,920],{"class":771},[714,1814,860],{"class":739},[714,1816,784],{"class":739},[714,1818,958],{"class":771},[714,1820,860],{"class":739},[714,1822,913],{"class":731},[714,1824,829],{"class":739},[714,1826,967],{"class":731},[714,1828,790],{"class":739},[714,1830,790],{"class":739},[714,1832,776],{"class":771},[714,1834,1835],{"class":716,"line":1053},[714,1836,811],{"emptyLinePlaceholder":810},[714,1838,1839,1841,1843,1845,1847,1849,1851,1853],{"class":716,"line":1070},[714,1840,984],{"class":720},[714,1842,740],{"class":771},[714,1844,989],{"class":739},[714,1846,925],{"class":731},[714,1848,829],{"class":739},[714,1850,996],{"class":731},[714,1852,999],{"class":771},[714,1854,1002],{"class":739},[714,1856,1857,1859,1861,1863],{"class":716,"line":1087},[714,1858,1008],{"class":720},[714,1860,1011],{"class":727},[714,1862,732],{"class":771},[714,1864,1002],{"class":739},[714,1866,1867,1869,1871,1873],{"class":716,"line":1095},[714,1868,1021],{"class":771},[714,1870,860],{"class":739},[714,1872,1027],{"class":1026},[714,1874,1030],{"class":739},[714,1876,1877,1879,1881,1883,1885,1887],{"class":716,"line":1101},[714,1878,1036],{"class":771},[714,1880,860],{"class":739},[714,1882,1041],{"class":739},[714,1884,1045],{"class":1044},[714,1886,1048],{"class":739},[714,1888,1030],{"class":739},[714,1890,1891,1893,1895,1897,1899,1901],{"class":716,"line":1106},[714,1892,1056],{"class":771},[714,1894,860],{"class":739},[714,1896,913],{"class":731},[714,1898,829],{"class":739},[714,1900,1065],{"class":731},[714,1902,1030],{"class":739},[714,1904,1905,1907,1909,1911,1913,1915],{"class":716,"line":1128},[714,1906,1073],{"class":771},[714,1908,860],{"class":739},[714,1910,1041],{"class":739},[714,1912,1080],{"class":1044},[714,1914,1048],{"class":739},[714,1916,1030],{"class":739},[714,1918,1919,1921],{"class":716,"line":1495},[714,1920,1090],{"class":739},[714,1922,776],{"class":771},[714,1924,1925],{"class":716,"line":1500},[714,1926,1098],{"class":739},[714,1928,1929],{"class":716,"line":1530},[714,1930,811],{"emptyLinePlaceholder":810},[714,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954],{"class":716,"line":1933},25,[714,1935,1109],{"class":720},[714,1937,1551],{"class":727},[714,1939,732],{"class":771},[714,1941,855],{"class":739},[714,1943,1114],{"class":771},[714,1945,860],{"class":739},[714,1947,913],{"class":731},[714,1949,829],{"class":739},[714,1951,967],{"class":731},[714,1953,790],{"class":739},[714,1955,776],{"class":771},[714,1957,1959],{"class":716,"line":1958},26,[714,1960,1961],{"class":739},"}\n",[539,1963,1964],{"v-slot:nitro":541},[704,1965,1968],{"className":706,"code":1966,"filename":1967,"language":709,"meta":541,"style":541},"import { defineHandler, readBody } from 'nitro\u002Fh3'\nimport { useLogger, createError } from 'evlog\u002Fnitro\u002Fv3'\n\nexport default defineHandler(async (event) => {\n  const log = useLogger(event)\n  const { cartId } = await readBody(event)\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return { orderId: charge.id }\n})\n","routes\u002Fapi\u002Fcheckout.post.ts",[711,1969,1970,1994,2017,2021,2043,2059,2081,2085,2107,2157,2161,2187,2221,2225,2243,2253,2263,2277,2291,2305,2311,2315,2319,2337],{"__ignoreMap":541},[714,1971,1972,1974,1976,1979,1981,1983,1985,1987,1989,1992],{"class":716,"line":717},[714,1973,1146],{"class":720},[714,1975,784],{"class":739},[714,1977,1978],{"class":731}," defineHandler",[714,1980,882],{"class":739},[714,1982,798],{"class":731},[714,1984,790],{"class":739},[714,1986,1160],{"class":720},[714,1988,1041],{"class":739},[714,1990,1991],{"class":1044},"nitro\u002Fh3",[714,1993,1168],{"class":739},[714,1995,1996,1998,2000,2002,2004,2006,2008,2010,2012,2015],{"class":716,"line":756},[714,1997,1146],{"class":720},[714,1999,784],{"class":739},[714,2001,768],{"class":731},[714,2003,882],{"class":739},[714,2005,1011],{"class":731},[714,2007,790],{"class":739},[714,2009,1160],{"class":720},[714,2011,1041],{"class":739},[714,2013,2014],{"class":1044},"evlog\u002Fnitro\u002Fv3",[714,2016,1168],{"class":739},[714,2018,2019],{"class":716,"line":779},[714,2020,811],{"emptyLinePlaceholder":810},[714,2022,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041],{"class":716,"line":807},[714,2024,721],{"class":720},[714,2026,724],{"class":720},[714,2028,1978],{"class":727},[714,2030,732],{"class":731},[714,2032,736],{"class":735},[714,2034,740],{"class":739},[714,2036,744],{"class":743},[714,2038,747],{"class":739},[714,2040,750],{"class":735},[714,2042,753],{"class":739},[714,2044,2045,2047,2049,2051,2053,2055,2057],{"class":716,"line":814},[714,2046,759],{"class":735},[714,2048,762],{"class":731},[714,2050,765],{"class":739},[714,2052,768],{"class":727},[714,2054,732],{"class":771},[714,2056,744],{"class":731},[714,2058,776],{"class":771},[714,2060,2061,2063,2065,2067,2069,2071,2073,2075,2077,2079],{"class":716,"line":842},[714,2062,759],{"class":735},[714,2064,784],{"class":739},[714,2066,787],{"class":731},[714,2068,790],{"class":739},[714,2070,765],{"class":739},[714,2072,795],{"class":720},[714,2074,798],{"class":727},[714,2076,732],{"class":771},[714,2078,744],{"class":731},[714,2080,776],{"class":771},[714,2082,2083],{"class":716,"line":903},[714,2084,811],{"emptyLinePlaceholder":810},[714,2086,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105],{"class":716,"line":908},[714,2088,759],{"class":735},[714,2090,819],{"class":731},[714,2092,765],{"class":739},[714,2094,795],{"class":720},[714,2096,826],{"class":731},[714,2098,829],{"class":739},[714,2100,832],{"class":727},[714,2102,732],{"class":771},[714,2104,837],{"class":731},[714,2106,776],{"class":771},[714,2108,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155],{"class":716,"line":939},[714,2110,845],{"class":731},[714,2112,829],{"class":739},[714,2114,850],{"class":727},[714,2116,732],{"class":771},[714,2118,855],{"class":739},[714,2120,819],{"class":771},[714,2122,860],{"class":739},[714,2124,784],{"class":739},[714,2126,865],{"class":771},[714,2128,860],{"class":739},[714,2130,819],{"class":731},[714,2132,829],{"class":739},[714,2134,874],{"class":731},[714,2136,829],{"class":739},[714,2138,879],{"class":731},[714,2140,882],{"class":739},[714,2142,885],{"class":771},[714,2144,860],{"class":739},[714,2146,819],{"class":731},[714,2148,829],{"class":739},[714,2150,894],{"class":731},[714,2152,790],{"class":739},[714,2154,790],{"class":739},[714,2156,776],{"class":771},[714,2158,2159],{"class":716,"line":976},[714,2160,811],{"emptyLinePlaceholder":810},[714,2162,2163,2165,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185],{"class":716,"line":981},[714,2164,759],{"class":735},[714,2166,913],{"class":731},[714,2168,765],{"class":739},[714,2170,795],{"class":720},[714,2172,920],{"class":731},[714,2174,829],{"class":739},[714,2176,925],{"class":727},[714,2178,732],{"class":771},[714,2180,930],{"class":731},[714,2182,829],{"class":739},[714,2184,894],{"class":731},[714,2186,776],{"class":771},[714,2188,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219],{"class":716,"line":1005},[714,2190,845],{"class":731},[714,2192,829],{"class":739},[714,2194,850],{"class":727},[714,2196,732],{"class":771},[714,2198,855],{"class":739},[714,2200,920],{"class":771},[714,2202,860],{"class":739},[714,2204,784],{"class":739},[714,2206,958],{"class":771},[714,2208,860],{"class":739},[714,2210,913],{"class":731},[714,2212,829],{"class":739},[714,2214,967],{"class":731},[714,2216,790],{"class":739},[714,2218,790],{"class":739},[714,2220,776],{"class":771},[714,2222,2223],{"class":716,"line":1018},[714,2224,811],{"emptyLinePlaceholder":810},[714,2226,2227,2229,2231,2233,2235,2237,2239,2241],{"class":716,"line":1033},[714,2228,984],{"class":720},[714,2230,740],{"class":771},[714,2232,989],{"class":739},[714,2234,925],{"class":731},[714,2236,829],{"class":739},[714,2238,996],{"class":731},[714,2240,999],{"class":771},[714,2242,1002],{"class":739},[714,2244,2245,2247,2249,2251],{"class":716,"line":1053},[714,2246,1008],{"class":720},[714,2248,1011],{"class":727},[714,2250,732],{"class":771},[714,2252,1002],{"class":739},[714,2254,2255,2257,2259,2261],{"class":716,"line":1070},[714,2256,1021],{"class":771},[714,2258,860],{"class":739},[714,2260,1027],{"class":1026},[714,2262,1030],{"class":739},[714,2264,2265,2267,2269,2271,2273,2275],{"class":716,"line":1087},[714,2266,1036],{"class":771},[714,2268,860],{"class":739},[714,2270,1041],{"class":739},[714,2272,1045],{"class":1044},[714,2274,1048],{"class":739},[714,2276,1030],{"class":739},[714,2278,2279,2281,2283,2285,2287,2289],{"class":716,"line":1095},[714,2280,1056],{"class":771},[714,2282,860],{"class":739},[714,2284,913],{"class":731},[714,2286,829],{"class":739},[714,2288,1065],{"class":731},[714,2290,1030],{"class":739},[714,2292,2293,2295,2297,2299,2301,2303],{"class":716,"line":1101},[714,2294,1073],{"class":771},[714,2296,860],{"class":739},[714,2298,1041],{"class":739},[714,2300,1080],{"class":1044},[714,2302,1048],{"class":739},[714,2304,1030],{"class":739},[714,2306,2307,2309],{"class":716,"line":1106},[714,2308,1090],{"class":739},[714,2310,776],{"class":771},[714,2312,2313],{"class":716,"line":1128},[714,2314,1098],{"class":739},[714,2316,2317],{"class":716,"line":1495},[714,2318,811],{"emptyLinePlaceholder":810},[714,2320,2321,2323,2325,2327,2329,2331,2333,2335],{"class":716,"line":1500},[714,2322,1109],{"class":720},[714,2324,784],{"class":739},[714,2326,1114],{"class":771},[714,2328,860],{"class":739},[714,2330,913],{"class":731},[714,2332,829],{"class":739},[714,2334,967],{"class":731},[714,2336,1125],{"class":739},[714,2338,2339,2341],{"class":716,"line":1530},[714,2340,1131],{"class":739},[714,2342,776],{"class":731},[539,2344,2345],{"v-slot:tanstack-start":541},[704,2346,2349],{"className":706,"code":2347,"filename":2348,"language":709,"meta":541,"style":541},"import { createFileRoute } from '@tanstack\u002Freact-router'\nimport { useRequest } from 'nitro\u002Fcontext'\nimport { createError } from 'evlog'\nimport type { RequestLogger } from 'evlog'\n\nexport const Route = createFileRoute('\u002Fapi\u002Fcheckout')({\n  server: {\n    handlers: {\n      POST: async ({ request }) => {\n        const req = useRequest()\n        const log = req.context.log as RequestLogger\n        const { cartId } = await request.json()\n\n        const cart = await db.findCart(cartId)\n        log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n        const charge = await stripe.charge(cart.total)\n        log.set({ stripe: { chargeId: charge.id } })\n\n        if (!charge.success) {\n          throw createError({\n            status: 402,\n            message: 'Payment failed',\n            why: charge.decline_reason,\n            fix: 'Try a different payment method',\n          })\n        }\n\n        return Response.json({ orderId: charge.id })\n      },\n    },\n  },\n})\n","src\u002Froutes\u002Fapi\u002Fcheckout.ts",[711,2350,2351,2371,2391,2409,2430,2434,2461,2470,2479,2498,2511,2537,2559,2563,2585,2636,2640,2666,2700,2704,2723,2734,2745,2760,2775,2790,2797,2803,2808,2838,2844,2850,2856],{"__ignoreMap":541},[714,2352,2353,2355,2357,2360,2362,2364,2366,2369],{"class":716,"line":717},[714,2354,1146],{"class":720},[714,2356,784],{"class":739},[714,2358,2359],{"class":731}," createFileRoute",[714,2361,790],{"class":739},[714,2363,1160],{"class":720},[714,2365,1041],{"class":739},[714,2367,2368],{"class":1044},"@tanstack\u002Freact-router",[714,2370,1168],{"class":739},[714,2372,2373,2375,2377,2380,2382,2384,2386,2389],{"class":716,"line":756},[714,2374,1146],{"class":720},[714,2376,784],{"class":739},[714,2378,2379],{"class":731}," useRequest",[714,2381,790],{"class":739},[714,2383,1160],{"class":720},[714,2385,1041],{"class":739},[714,2387,2388],{"class":1044},"nitro\u002Fcontext",[714,2390,1168],{"class":739},[714,2392,2393,2395,2397,2399,2401,2403,2405,2407],{"class":716,"line":779},[714,2394,1146],{"class":720},[714,2396,784],{"class":739},[714,2398,1011],{"class":731},[714,2400,790],{"class":739},[714,2402,1160],{"class":720},[714,2404,1041],{"class":739},[714,2406,1185],{"class":1044},[714,2408,1168],{"class":739},[714,2410,2411,2413,2415,2417,2420,2422,2424,2426,2428],{"class":716,"line":807},[714,2412,1146],{"class":720},[714,2414,1606],{"class":720},[714,2416,784],{"class":739},[714,2418,2419],{"class":731}," RequestLogger",[714,2421,790],{"class":739},[714,2423,1160],{"class":720},[714,2425,1041],{"class":739},[714,2427,1185],{"class":1044},[714,2429,1168],{"class":739},[714,2431,2432],{"class":716,"line":814},[714,2433,811],{"emptyLinePlaceholder":810},[714,2435,2436,2438,2440,2443,2445,2447,2449,2451,2454,2456,2459],{"class":716,"line":842},[714,2437,721],{"class":720},[714,2439,1198],{"class":735},[714,2441,2442],{"class":731}," Route ",[714,2444,1204],{"class":739},[714,2446,2359],{"class":727},[714,2448,732],{"class":731},[714,2450,1048],{"class":739},[714,2452,2453],{"class":1044},"\u002Fapi\u002Fcheckout",[714,2455,1048],{"class":739},[714,2457,2458],{"class":731},")(",[714,2460,1002],{"class":739},[714,2462,2463,2466,2468],{"class":716,"line":903},[714,2464,2465],{"class":771},"  server",[714,2467,860],{"class":739},[714,2469,753],{"class":739},[714,2471,2472,2475,2477],{"class":716,"line":908},[714,2473,2474],{"class":771},"    handlers",[714,2476,860],{"class":739},[714,2478,753],{"class":739},[714,2480,2481,2484,2486,2488,2490,2492,2494,2496],{"class":716,"line":939},[714,2482,2483],{"class":727},"      POST",[714,2485,860],{"class":739},[714,2487,1645],{"class":735},[714,2489,1648],{"class":739},[714,2491,1651],{"class":743},[714,2493,1654],{"class":739},[714,2495,750],{"class":735},[714,2497,753],{"class":739},[714,2499,2500,2503,2505,2507,2509],{"class":716,"line":976},[714,2501,2502],{"class":735},"        const",[714,2504,1251],{"class":731},[714,2506,765],{"class":739},[714,2508,2379],{"class":727},[714,2510,1234],{"class":771},[714,2512,2513,2515,2517,2519,2521,2523,2526,2528,2531,2534],{"class":716,"line":981},[714,2514,2502],{"class":735},[714,2516,762],{"class":731},[714,2518,765],{"class":739},[714,2520,1251],{"class":731},[714,2522,829],{"class":739},[714,2524,2525],{"class":731},"context",[714,2527,829],{"class":739},[714,2529,2530],{"class":731},"log",[714,2532,2533],{"class":720}," as",[714,2535,2536],{"class":1640}," RequestLogger\n",[714,2538,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557],{"class":716,"line":1005},[714,2540,2502],{"class":735},[714,2542,784],{"class":739},[714,2544,787],{"class":731},[714,2546,790],{"class":739},[714,2548,765],{"class":739},[714,2550,795],{"class":720},[714,2552,1651],{"class":731},[714,2554,829],{"class":739},[714,2556,1256],{"class":727},[714,2558,1234],{"class":771},[714,2560,2561],{"class":716,"line":1018},[714,2562,811],{"emptyLinePlaceholder":810},[714,2564,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583],{"class":716,"line":1033},[714,2566,2502],{"class":735},[714,2568,819],{"class":731},[714,2570,765],{"class":739},[714,2572,795],{"class":720},[714,2574,826],{"class":731},[714,2576,829],{"class":739},[714,2578,832],{"class":727},[714,2580,732],{"class":771},[714,2582,837],{"class":731},[714,2584,776],{"class":771},[714,2586,2587,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634],{"class":716,"line":1053},[714,2588,2589],{"class":731},"        log",[714,2591,829],{"class":739},[714,2593,850],{"class":727},[714,2595,732],{"class":771},[714,2597,855],{"class":739},[714,2599,819],{"class":771},[714,2601,860],{"class":739},[714,2603,784],{"class":739},[714,2605,865],{"class":771},[714,2607,860],{"class":739},[714,2609,819],{"class":731},[714,2611,829],{"class":739},[714,2613,874],{"class":731},[714,2615,829],{"class":739},[714,2617,879],{"class":731},[714,2619,882],{"class":739},[714,2621,885],{"class":771},[714,2623,860],{"class":739},[714,2625,819],{"class":731},[714,2627,829],{"class":739},[714,2629,894],{"class":731},[714,2631,790],{"class":739},[714,2633,790],{"class":739},[714,2635,776],{"class":771},[714,2637,2638],{"class":716,"line":1070},[714,2639,811],{"emptyLinePlaceholder":810},[714,2641,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664],{"class":716,"line":1087},[714,2643,2502],{"class":735},[714,2645,913],{"class":731},[714,2647,765],{"class":739},[714,2649,795],{"class":720},[714,2651,920],{"class":731},[714,2653,829],{"class":739},[714,2655,925],{"class":727},[714,2657,732],{"class":771},[714,2659,930],{"class":731},[714,2661,829],{"class":739},[714,2663,894],{"class":731},[714,2665,776],{"class":771},[714,2667,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698],{"class":716,"line":1095},[714,2669,2589],{"class":731},[714,2671,829],{"class":739},[714,2673,850],{"class":727},[714,2675,732],{"class":771},[714,2677,855],{"class":739},[714,2679,920],{"class":771},[714,2681,860],{"class":739},[714,2683,784],{"class":739},[714,2685,958],{"class":771},[714,2687,860],{"class":739},[714,2689,913],{"class":731},[714,2691,829],{"class":739},[714,2693,967],{"class":731},[714,2695,790],{"class":739},[714,2697,790],{"class":739},[714,2699,776],{"class":771},[714,2701,2702],{"class":716,"line":1101},[714,2703,811],{"emptyLinePlaceholder":810},[714,2705,2706,2709,2711,2713,2715,2717,2719,2721],{"class":716,"line":1106},[714,2707,2708],{"class":720},"        if",[714,2710,740],{"class":771},[714,2712,989],{"class":739},[714,2714,925],{"class":731},[714,2716,829],{"class":739},[714,2718,996],{"class":731},[714,2720,999],{"class":771},[714,2722,1002],{"class":739},[714,2724,2725,2728,2730,2732],{"class":716,"line":1128},[714,2726,2727],{"class":720},"          throw",[714,2729,1011],{"class":727},[714,2731,732],{"class":771},[714,2733,1002],{"class":739},[714,2735,2736,2739,2741,2743],{"class":716,"line":1495},[714,2737,2738],{"class":771},"            status",[714,2740,860],{"class":739},[714,2742,1027],{"class":1026},[714,2744,1030],{"class":739},[714,2746,2747,2750,2752,2754,2756,2758],{"class":716,"line":1500},[714,2748,2749],{"class":771},"            message",[714,2751,860],{"class":739},[714,2753,1041],{"class":739},[714,2755,1045],{"class":1044},[714,2757,1048],{"class":739},[714,2759,1030],{"class":739},[714,2761,2762,2765,2767,2769,2771,2773],{"class":716,"line":1530},[714,2763,2764],{"class":771},"            why",[714,2766,860],{"class":739},[714,2768,913],{"class":731},[714,2770,829],{"class":739},[714,2772,1065],{"class":731},[714,2774,1030],{"class":739},[714,2776,2777,2780,2782,2784,2786,2788],{"class":716,"line":1933},[714,2778,2779],{"class":771},"            fix",[714,2781,860],{"class":739},[714,2783,1041],{"class":739},[714,2785,1080],{"class":1044},[714,2787,1048],{"class":739},[714,2789,1030],{"class":739},[714,2791,2792,2795],{"class":716,"line":1958},[714,2793,2794],{"class":739},"          }",[714,2796,776],{"class":771},[714,2798,2800],{"class":716,"line":2799},27,[714,2801,2802],{"class":739},"        }\n",[714,2804,2806],{"class":716,"line":2805},28,[714,2807,811],{"emptyLinePlaceholder":810},[714,2809,2811,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836],{"class":716,"line":2810},29,[714,2812,2813],{"class":720},"        return",[714,2815,1505],{"class":731},[714,2817,829],{"class":739},[714,2819,1256],{"class":727},[714,2821,732],{"class":771},[714,2823,855],{"class":739},[714,2825,1114],{"class":771},[714,2827,860],{"class":739},[714,2829,913],{"class":731},[714,2831,829],{"class":739},[714,2833,967],{"class":731},[714,2835,790],{"class":739},[714,2837,776],{"class":771},[714,2839,2841],{"class":716,"line":2840},30,[714,2842,2843],{"class":739},"      },\n",[714,2845,2847],{"class":716,"line":2846},31,[714,2848,2849],{"class":739},"    },\n",[714,2851,2853],{"class":716,"line":2852},32,[714,2854,2855],{"class":739},"  },\n",[714,2857,2859,2861],{"class":716,"line":2858},33,[714,2860,1131],{"class":739},[714,2862,776],{"class":731},[539,2864,2865],{"v-slot:react-router":541},[704,2866,2869],{"className":706,"code":2867,"filename":2868,"language":709,"meta":541,"style":541},"import { loggerContext } from 'evlog\u002Freact-router'\nimport { createError } from 'evlog'\n\nexport async function action({ request, context }: Route.ActionArgs) {\n  const log = context.get(loggerContext)\n  const { cartId } = await request.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  if (!charge.success) {\n    throw createError({\n      status: 402,\n      message: 'Payment failed',\n      why: charge.decline_reason,\n      fix: 'Try a different payment method',\n    })\n  }\n\n  return Response.json({ orderId: charge.id })\n}\n","app\u002Froutes\u002Fapi.checkout.tsx",[711,2870,2871,2891,2909,2913,2950,2972,2994,2998,3020,3070,3074,3100,3134,3138,3156,3166,3176,3190,3204,3218,3224,3228,3232,3260],{"__ignoreMap":541},[714,2872,2873,2875,2877,2880,2882,2884,2886,2889],{"class":716,"line":717},[714,2874,1146],{"class":720},[714,2876,784],{"class":739},[714,2878,2879],{"class":731}," loggerContext",[714,2881,790],{"class":739},[714,2883,1160],{"class":720},[714,2885,1041],{"class":739},[714,2887,2888],{"class":1044},"evlog\u002Freact-router",[714,2890,1168],{"class":739},[714,2892,2893,2895,2897,2899,2901,2903,2905,2907],{"class":716,"line":756},[714,2894,1146],{"class":720},[714,2896,784],{"class":739},[714,2898,1011],{"class":731},[714,2900,790],{"class":739},[714,2902,1160],{"class":720},[714,2904,1041],{"class":739},[714,2906,1185],{"class":1044},[714,2908,1168],{"class":739},[714,2910,2911],{"class":716,"line":779},[714,2912,811],{"emptyLinePlaceholder":810},[714,2914,2915,2917,2919,2922,2925,2928,2930,2932,2935,2938,2941,2943,2946,2948],{"class":716,"line":807},[714,2916,721],{"class":720},[714,2918,1645],{"class":735},[714,2920,2921],{"class":735}," function",[714,2923,2924],{"class":727}," action",[714,2926,2927],{"class":739},"({",[714,2929,1651],{"class":743},[714,2931,882],{"class":739},[714,2933,2934],{"class":743}," context",[714,2936,2937],{"class":739}," }:",[714,2939,2940],{"class":1640}," Route",[714,2942,829],{"class":739},[714,2944,2945],{"class":1640},"ActionArgs",[714,2947,747],{"class":739},[714,2949,753],{"class":739},[714,2951,2952,2954,2956,2958,2960,2962,2965,2967,2970],{"class":716,"line":814},[714,2953,759],{"class":735},[714,2955,762],{"class":731},[714,2957,765],{"class":739},[714,2959,2934],{"class":731},[714,2961,829],{"class":739},[714,2963,2964],{"class":727},"get",[714,2966,732],{"class":771},[714,2968,2969],{"class":731},"loggerContext",[714,2971,776],{"class":771},[714,2973,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992],{"class":716,"line":842},[714,2975,759],{"class":735},[714,2977,784],{"class":739},[714,2979,787],{"class":731},[714,2981,790],{"class":739},[714,2983,765],{"class":739},[714,2985,795],{"class":720},[714,2987,1651],{"class":731},[714,2989,829],{"class":739},[714,2991,1256],{"class":727},[714,2993,1234],{"class":771},[714,2995,2996],{"class":716,"line":903},[714,2997,811],{"emptyLinePlaceholder":810},[714,2999,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018],{"class":716,"line":908},[714,3001,759],{"class":735},[714,3003,819],{"class":731},[714,3005,765],{"class":739},[714,3007,795],{"class":720},[714,3009,826],{"class":731},[714,3011,829],{"class":739},[714,3013,832],{"class":727},[714,3015,732],{"class":771},[714,3017,837],{"class":731},[714,3019,776],{"class":771},[714,3021,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068],{"class":716,"line":939},[714,3023,845],{"class":731},[714,3025,829],{"class":739},[714,3027,850],{"class":727},[714,3029,732],{"class":771},[714,3031,855],{"class":739},[714,3033,819],{"class":771},[714,3035,860],{"class":739},[714,3037,784],{"class":739},[714,3039,865],{"class":771},[714,3041,860],{"class":739},[714,3043,819],{"class":731},[714,3045,829],{"class":739},[714,3047,874],{"class":731},[714,3049,829],{"class":739},[714,3051,879],{"class":731},[714,3053,882],{"class":739},[714,3055,885],{"class":771},[714,3057,860],{"class":739},[714,3059,819],{"class":731},[714,3061,829],{"class":739},[714,3063,894],{"class":731},[714,3065,790],{"class":739},[714,3067,790],{"class":739},[714,3069,776],{"class":771},[714,3071,3072],{"class":716,"line":976},[714,3073,811],{"emptyLinePlaceholder":810},[714,3075,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098],{"class":716,"line":981},[714,3077,759],{"class":735},[714,3079,913],{"class":731},[714,3081,765],{"class":739},[714,3083,795],{"class":720},[714,3085,920],{"class":731},[714,3087,829],{"class":739},[714,3089,925],{"class":727},[714,3091,732],{"class":771},[714,3093,930],{"class":731},[714,3095,829],{"class":739},[714,3097,894],{"class":731},[714,3099,776],{"class":771},[714,3101,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132],{"class":716,"line":1005},[714,3103,845],{"class":731},[714,3105,829],{"class":739},[714,3107,850],{"class":727},[714,3109,732],{"class":771},[714,3111,855],{"class":739},[714,3113,920],{"class":771},[714,3115,860],{"class":739},[714,3117,784],{"class":739},[714,3119,958],{"class":771},[714,3121,860],{"class":739},[714,3123,913],{"class":731},[714,3125,829],{"class":739},[714,3127,967],{"class":731},[714,3129,790],{"class":739},[714,3131,790],{"class":739},[714,3133,776],{"class":771},[714,3135,3136],{"class":716,"line":1018},[714,3137,811],{"emptyLinePlaceholder":810},[714,3139,3140,3142,3144,3146,3148,3150,3152,3154],{"class":716,"line":1033},[714,3141,984],{"class":720},[714,3143,740],{"class":771},[714,3145,989],{"class":739},[714,3147,925],{"class":731},[714,3149,829],{"class":739},[714,3151,996],{"class":731},[714,3153,999],{"class":771},[714,3155,1002],{"class":739},[714,3157,3158,3160,3162,3164],{"class":716,"line":1053},[714,3159,1008],{"class":720},[714,3161,1011],{"class":727},[714,3163,732],{"class":771},[714,3165,1002],{"class":739},[714,3167,3168,3170,3172,3174],{"class":716,"line":1070},[714,3169,1021],{"class":771},[714,3171,860],{"class":739},[714,3173,1027],{"class":1026},[714,3175,1030],{"class":739},[714,3177,3178,3180,3182,3184,3186,3188],{"class":716,"line":1087},[714,3179,1036],{"class":771},[714,3181,860],{"class":739},[714,3183,1041],{"class":739},[714,3185,1045],{"class":1044},[714,3187,1048],{"class":739},[714,3189,1030],{"class":739},[714,3191,3192,3194,3196,3198,3200,3202],{"class":716,"line":1095},[714,3193,1056],{"class":771},[714,3195,860],{"class":739},[714,3197,913],{"class":731},[714,3199,829],{"class":739},[714,3201,1065],{"class":731},[714,3203,1030],{"class":739},[714,3205,3206,3208,3210,3212,3214,3216],{"class":716,"line":1101},[714,3207,1073],{"class":771},[714,3209,860],{"class":739},[714,3211,1041],{"class":739},[714,3213,1080],{"class":1044},[714,3215,1048],{"class":739},[714,3217,1030],{"class":739},[714,3219,3220,3222],{"class":716,"line":1106},[714,3221,1090],{"class":739},[714,3223,776],{"class":771},[714,3225,3226],{"class":716,"line":1128},[714,3227,1098],{"class":739},[714,3229,3230],{"class":716,"line":1495},[714,3231,811],{"emptyLinePlaceholder":810},[714,3233,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258],{"class":716,"line":1500},[714,3235,1109],{"class":720},[714,3237,1505],{"class":731},[714,3239,829],{"class":739},[714,3241,1256],{"class":727},[714,3243,732],{"class":771},[714,3245,855],{"class":739},[714,3247,1114],{"class":771},[714,3249,860],{"class":739},[714,3251,913],{"class":731},[714,3253,829],{"class":739},[714,3255,967],{"class":731},[714,3257,790],{"class":739},[714,3259,776],{"class":771},[714,3261,3262],{"class":716,"line":1530},[714,3263,1961],{"class":739},[539,3265,3266],{"v-slot:nestjs":541},[704,3267,3270],{"className":706,"code":3268,"filename":3269,"language":709,"meta":541,"style":541},"import { Module } from '@nestjs\u002Fcommon'\nimport { EvlogModule } from 'evlog\u002Fnestjs'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\n@Module({\n  imports: [\n    EvlogModule.forRoot({\n      drain: createAxiomDrain(),\n    }),\n  ],\n})\nexport class AppModule {}\n","app.module.ts",[711,3271,3272,3292,3312,3332,3336,3348,3358,3372,3386,3394,3401,3407],{"__ignoreMap":541},[714,3273,3274,3276,3278,3281,3283,3285,3287,3290],{"class":716,"line":717},[714,3275,1146],{"class":720},[714,3277,784],{"class":739},[714,3279,3280],{"class":731}," Module",[714,3282,790],{"class":739},[714,3284,1160],{"class":720},[714,3286,1041],{"class":739},[714,3288,3289],{"class":1044},"@nestjs\u002Fcommon",[714,3291,1168],{"class":739},[714,3293,3294,3296,3298,3301,3303,3305,3307,3310],{"class":716,"line":756},[714,3295,1146],{"class":720},[714,3297,784],{"class":739},[714,3299,3300],{"class":731}," EvlogModule",[714,3302,790],{"class":739},[714,3304,1160],{"class":720},[714,3306,1041],{"class":739},[714,3308,3309],{"class":1044},"evlog\u002Fnestjs",[714,3311,1168],{"class":739},[714,3313,3314,3316,3318,3321,3323,3325,3327,3330],{"class":716,"line":779},[714,3315,1146],{"class":720},[714,3317,784],{"class":739},[714,3319,3320],{"class":731}," createAxiomDrain",[714,3322,790],{"class":739},[714,3324,1160],{"class":720},[714,3326,1041],{"class":739},[714,3328,3329],{"class":1044},"evlog\u002Faxiom",[714,3331,1168],{"class":739},[714,3333,3334],{"class":716,"line":807},[714,3335,811],{"emptyLinePlaceholder":810},[714,3337,3338,3341,3344,3346],{"class":716,"line":814},[714,3339,3340],{"class":739},"@",[714,3342,3343],{"class":727},"Module",[714,3345,732],{"class":731},[714,3347,1002],{"class":739},[714,3349,3350,3353,3355],{"class":716,"line":842},[714,3351,3352],{"class":771},"  imports",[714,3354,860],{"class":739},[714,3356,3357],{"class":731}," [\n",[714,3359,3360,3363,3365,3368,3370],{"class":716,"line":903},[714,3361,3362],{"class":731},"    EvlogModule",[714,3364,829],{"class":739},[714,3366,3367],{"class":727},"forRoot",[714,3369,732],{"class":731},[714,3371,1002],{"class":739},[714,3373,3374,3377,3379,3381,3384],{"class":716,"line":908},[714,3375,3376],{"class":771},"      drain",[714,3378,860],{"class":739},[714,3380,3320],{"class":727},[714,3382,3383],{"class":731},"()",[714,3385,1030],{"class":739},[714,3387,3388,3390,3392],{"class":716,"line":939},[714,3389,1090],{"class":739},[714,3391,747],{"class":731},[714,3393,1030],{"class":739},[714,3395,3396,3399],{"class":716,"line":976},[714,3397,3398],{"class":731},"  ]",[714,3400,1030],{"class":739},[714,3402,3403,3405],{"class":716,"line":981},[714,3404,1131],{"class":739},[714,3406,776],{"class":731},[714,3408,3409,3411,3414,3417],{"class":716,"line":1005},[714,3410,721],{"class":720},[714,3412,3413],{"class":735}," class",[714,3415,3416],{"class":1640}," AppModule",[714,3418,3419],{"class":739}," {}\n",[539,3421,3422],{"v-slot:express":541},[704,3423,3426],{"className":706,"code":3424,"filename":3425,"language":709,"meta":541,"style":541},"import { evlog, useLogger } from 'evlog\u002Fexpress'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = express()\napp.use(evlog({ drain: createAxiomDrain() }))\n\napp.post('\u002Fcheckout', async (req, res) => {\n  const log = useLogger()\n  const { cartId } = req.body\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  res.json({ orderId: charge.id })\n})\n","src\u002Findex.ts",[711,3427,3428,3452,3470,3474,3489,3522,3526,3563,3575,3594,3598,3620,3670,3674,3700,3734,3738,3765],{"__ignoreMap":541},[714,3429,3430,3432,3434,3437,3439,3441,3443,3445,3447,3450],{"class":716,"line":717},[714,3431,1146],{"class":720},[714,3433,784],{"class":739},[714,3435,3436],{"class":731}," evlog",[714,3438,882],{"class":739},[714,3440,768],{"class":731},[714,3442,790],{"class":739},[714,3444,1160],{"class":720},[714,3446,1041],{"class":739},[714,3448,3449],{"class":1044},"evlog\u002Fexpress",[714,3451,1168],{"class":739},[714,3453,3454,3456,3458,3460,3462,3464,3466,3468],{"class":716,"line":756},[714,3455,1146],{"class":720},[714,3457,784],{"class":739},[714,3459,3320],{"class":731},[714,3461,790],{"class":739},[714,3463,1160],{"class":720},[714,3465,1041],{"class":739},[714,3467,3329],{"class":1044},[714,3469,1168],{"class":739},[714,3471,3472],{"class":716,"line":779},[714,3473,811],{"emptyLinePlaceholder":810},[714,3475,3476,3479,3482,3484,3487],{"class":716,"line":807},[714,3477,3478],{"class":735},"const",[714,3480,3481],{"class":731}," app ",[714,3483,1204],{"class":739},[714,3485,3486],{"class":727}," express",[714,3488,1234],{"class":731},[714,3490,3491,3494,3496,3499,3501,3503,3505,3507,3510,3512,3514,3517,3519],{"class":716,"line":814},[714,3492,3493],{"class":731},"app",[714,3495,829],{"class":739},[714,3497,3498],{"class":727},"use",[714,3500,732],{"class":731},[714,3502,1185],{"class":727},[714,3504,732],{"class":731},[714,3506,855],{"class":739},[714,3508,3509],{"class":771}," drain",[714,3511,860],{"class":739},[714,3513,3320],{"class":727},[714,3515,3516],{"class":731},"() ",[714,3518,1131],{"class":739},[714,3520,3521],{"class":731},"))\n",[714,3523,3524],{"class":716,"line":842},[714,3525,811],{"emptyLinePlaceholder":810},[714,3527,3528,3530,3532,3535,3537,3539,3542,3544,3546,3548,3550,3552,3554,3557,3559,3561],{"class":716,"line":903},[714,3529,3493],{"class":731},[714,3531,829],{"class":739},[714,3533,3534],{"class":727},"post",[714,3536,732],{"class":731},[714,3538,1048],{"class":739},[714,3540,3541],{"class":1044},"\u002Fcheckout",[714,3543,1048],{"class":739},[714,3545,882],{"class":739},[714,3547,1645],{"class":735},[714,3549,740],{"class":739},[714,3551,1215],{"class":743},[714,3553,882],{"class":739},[714,3555,3556],{"class":743}," res",[714,3558,747],{"class":739},[714,3560,750],{"class":735},[714,3562,753],{"class":739},[714,3564,3565,3567,3569,3571,3573],{"class":716,"line":908},[714,3566,759],{"class":735},[714,3568,762],{"class":731},[714,3570,765],{"class":739},[714,3572,768],{"class":727},[714,3574,1234],{"class":771},[714,3576,3577,3579,3581,3583,3585,3587,3589,3591],{"class":716,"line":939},[714,3578,759],{"class":735},[714,3580,784],{"class":739},[714,3582,787],{"class":731},[714,3584,790],{"class":739},[714,3586,765],{"class":739},[714,3588,1251],{"class":731},[714,3590,829],{"class":739},[714,3592,3593],{"class":731},"body\n",[714,3595,3596],{"class":716,"line":976},[714,3597,811],{"emptyLinePlaceholder":810},[714,3599,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618],{"class":716,"line":981},[714,3601,759],{"class":735},[714,3603,819],{"class":731},[714,3605,765],{"class":739},[714,3607,795],{"class":720},[714,3609,826],{"class":731},[714,3611,829],{"class":739},[714,3613,832],{"class":727},[714,3615,732],{"class":771},[714,3617,837],{"class":731},[714,3619,776],{"class":771},[714,3621,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668],{"class":716,"line":1005},[714,3623,845],{"class":731},[714,3625,829],{"class":739},[714,3627,850],{"class":727},[714,3629,732],{"class":771},[714,3631,855],{"class":739},[714,3633,819],{"class":771},[714,3635,860],{"class":739},[714,3637,784],{"class":739},[714,3639,865],{"class":771},[714,3641,860],{"class":739},[714,3643,819],{"class":731},[714,3645,829],{"class":739},[714,3647,874],{"class":731},[714,3649,829],{"class":739},[714,3651,879],{"class":731},[714,3653,882],{"class":739},[714,3655,885],{"class":771},[714,3657,860],{"class":739},[714,3659,819],{"class":731},[714,3661,829],{"class":739},[714,3663,894],{"class":731},[714,3665,790],{"class":739},[714,3667,790],{"class":739},[714,3669,776],{"class":771},[714,3671,3672],{"class":716,"line":1018},[714,3673,811],{"emptyLinePlaceholder":810},[714,3675,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698],{"class":716,"line":1033},[714,3677,759],{"class":735},[714,3679,913],{"class":731},[714,3681,765],{"class":739},[714,3683,795],{"class":720},[714,3685,920],{"class":731},[714,3687,829],{"class":739},[714,3689,925],{"class":727},[714,3691,732],{"class":771},[714,3693,930],{"class":731},[714,3695,829],{"class":739},[714,3697,894],{"class":731},[714,3699,776],{"class":771},[714,3701,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720,3722,3724,3726,3728,3730,3732],{"class":716,"line":1053},[714,3703,845],{"class":731},[714,3705,829],{"class":739},[714,3707,850],{"class":727},[714,3709,732],{"class":771},[714,3711,855],{"class":739},[714,3713,920],{"class":771},[714,3715,860],{"class":739},[714,3717,784],{"class":739},[714,3719,958],{"class":771},[714,3721,860],{"class":739},[714,3723,913],{"class":731},[714,3725,829],{"class":739},[714,3727,967],{"class":731},[714,3729,790],{"class":739},[714,3731,790],{"class":739},[714,3733,776],{"class":771},[714,3735,3736],{"class":716,"line":1070},[714,3737,811],{"emptyLinePlaceholder":810},[714,3739,3740,3743,3745,3747,3749,3751,3753,3755,3757,3759,3761,3763],{"class":716,"line":1087},[714,3741,3742],{"class":731},"  res",[714,3744,829],{"class":739},[714,3746,1256],{"class":727},[714,3748,732],{"class":771},[714,3750,855],{"class":739},[714,3752,1114],{"class":771},[714,3754,860],{"class":739},[714,3756,913],{"class":731},[714,3758,829],{"class":739},[714,3760,967],{"class":731},[714,3762,790],{"class":739},[714,3764,776],{"class":771},[714,3766,3767,3769],{"class":716,"line":1095},[714,3768,1131],{"class":739},[714,3770,776],{"class":731},[539,3772,3773],{"v-slot:hono":541},[704,3774,3776],{"className":706,"code":3775,"filename":3425,"language":709,"meta":541,"style":541},"import { evlog, type EvlogVariables } from 'evlog\u002Fhono'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = new Hono\u003CEvlogVariables>()\napp.use(evlog({ drain: createAxiomDrain() }))\n\napp.post('\u002Fcheckout', async (c) => {\n  const log = c.get('log')\n  const { cartId } = await c.req.json()\n\n  const cart = await db.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  log.set({ stripe: { chargeId: charge.id } })\n\n  return c.json({ orderId: charge.id })\n})\n",[711,3777,3778,3804,3822,3826,3851,3879,3883,3914,3939,3965,3969,3991,4041,4045,4071,4105,4109,4137],{"__ignoreMap":541},[714,3779,3780,3782,3784,3786,3788,3790,3793,3795,3797,3799,3802],{"class":716,"line":717},[714,3781,1146],{"class":720},[714,3783,784],{"class":739},[714,3785,3436],{"class":731},[714,3787,882],{"class":739},[714,3789,1606],{"class":720},[714,3791,3792],{"class":731}," EvlogVariables",[714,3794,790],{"class":739},[714,3796,1160],{"class":720},[714,3798,1041],{"class":739},[714,3800,3801],{"class":1044},"evlog\u002Fhono",[714,3803,1168],{"class":739},[714,3805,3806,3808,3810,3812,3814,3816,3818,3820],{"class":716,"line":756},[714,3807,1146],{"class":720},[714,3809,784],{"class":739},[714,3811,3320],{"class":731},[714,3813,790],{"class":739},[714,3815,1160],{"class":720},[714,3817,1041],{"class":739},[714,3819,3329],{"class":1044},[714,3821,1168],{"class":739},[714,3823,3824],{"class":716,"line":779},[714,3825,811],{"emptyLinePlaceholder":810},[714,3827,3828,3830,3832,3834,3837,3840,3843,3846,3849],{"class":716,"line":807},[714,3829,3478],{"class":735},[714,3831,3481],{"class":731},[714,3833,1204],{"class":739},[714,3835,3836],{"class":739}," new",[714,3838,3839],{"class":727}," Hono",[714,3841,3842],{"class":739},"\u003C",[714,3844,3845],{"class":1640},"EvlogVariables",[714,3847,3848],{"class":739},">",[714,3850,1234],{"class":731},[714,3852,3853,3855,3857,3859,3861,3863,3865,3867,3869,3871,3873,3875,3877],{"class":716,"line":814},[714,3854,3493],{"class":731},[714,3856,829],{"class":739},[714,3858,3498],{"class":727},[714,3860,732],{"class":731},[714,3862,1185],{"class":727},[714,3864,732],{"class":731},[714,3866,855],{"class":739},[714,3868,3509],{"class":771},[714,3870,860],{"class":739},[714,3872,3320],{"class":727},[714,3874,3516],{"class":731},[714,3876,1131],{"class":739},[714,3878,3521],{"class":731},[714,3880,3881],{"class":716,"line":842},[714,3882,811],{"emptyLinePlaceholder":810},[714,3884,3885,3887,3889,3891,3893,3895,3897,3899,3901,3903,3905,3908,3910,3912],{"class":716,"line":903},[714,3886,3493],{"class":731},[714,3888,829],{"class":739},[714,3890,3534],{"class":727},[714,3892,732],{"class":731},[714,3894,1048],{"class":739},[714,3896,3541],{"class":1044},[714,3898,1048],{"class":739},[714,3900,882],{"class":739},[714,3902,1645],{"class":735},[714,3904,740],{"class":739},[714,3906,3907],{"class":743},"c",[714,3909,747],{"class":739},[714,3911,750],{"class":735},[714,3913,753],{"class":739},[714,3915,3916,3918,3920,3922,3925,3927,3929,3931,3933,3935,3937],{"class":716,"line":908},[714,3917,759],{"class":735},[714,3919,762],{"class":731},[714,3921,765],{"class":739},[714,3923,3924],{"class":731}," c",[714,3926,829],{"class":739},[714,3928,2964],{"class":727},[714,3930,732],{"class":771},[714,3932,1048],{"class":739},[714,3934,2530],{"class":1044},[714,3936,1048],{"class":739},[714,3938,776],{"class":771},[714,3940,3941,3943,3945,3947,3949,3951,3953,3955,3957,3959,3961,3963],{"class":716,"line":939},[714,3942,759],{"class":735},[714,3944,784],{"class":739},[714,3946,787],{"class":731},[714,3948,790],{"class":739},[714,3950,765],{"class":739},[714,3952,795],{"class":720},[714,3954,3924],{"class":731},[714,3956,829],{"class":739},[714,3958,1215],{"class":731},[714,3960,829],{"class":739},[714,3962,1256],{"class":727},[714,3964,1234],{"class":771},[714,3966,3967],{"class":716,"line":976},[714,3968,811],{"emptyLinePlaceholder":810},[714,3970,3971,3973,3975,3977,3979,3981,3983,3985,3987,3989],{"class":716,"line":981},[714,3972,759],{"class":735},[714,3974,819],{"class":731},[714,3976,765],{"class":739},[714,3978,795],{"class":720},[714,3980,826],{"class":731},[714,3982,829],{"class":739},[714,3984,832],{"class":727},[714,3986,732],{"class":771},[714,3988,837],{"class":731},[714,3990,776],{"class":771},[714,3992,3993,3995,3997,3999,4001,4003,4005,4007,4009,4011,4013,4015,4017,4019,4021,4023,4025,4027,4029,4031,4033,4035,4037,4039],{"class":716,"line":1005},[714,3994,845],{"class":731},[714,3996,829],{"class":739},[714,3998,850],{"class":727},[714,4000,732],{"class":771},[714,4002,855],{"class":739},[714,4004,819],{"class":771},[714,4006,860],{"class":739},[714,4008,784],{"class":739},[714,4010,865],{"class":771},[714,4012,860],{"class":739},[714,4014,819],{"class":731},[714,4016,829],{"class":739},[714,4018,874],{"class":731},[714,4020,829],{"class":739},[714,4022,879],{"class":731},[714,4024,882],{"class":739},[714,4026,885],{"class":771},[714,4028,860],{"class":739},[714,4030,819],{"class":731},[714,4032,829],{"class":739},[714,4034,894],{"class":731},[714,4036,790],{"class":739},[714,4038,790],{"class":739},[714,4040,776],{"class":771},[714,4042,4043],{"class":716,"line":1018},[714,4044,811],{"emptyLinePlaceholder":810},[714,4046,4047,4049,4051,4053,4055,4057,4059,4061,4063,4065,4067,4069],{"class":716,"line":1033},[714,4048,759],{"class":735},[714,4050,913],{"class":731},[714,4052,765],{"class":739},[714,4054,795],{"class":720},[714,4056,920],{"class":731},[714,4058,829],{"class":739},[714,4060,925],{"class":727},[714,4062,732],{"class":771},[714,4064,930],{"class":731},[714,4066,829],{"class":739},[714,4068,894],{"class":731},[714,4070,776],{"class":771},[714,4072,4073,4075,4077,4079,4081,4083,4085,4087,4089,4091,4093,4095,4097,4099,4101,4103],{"class":716,"line":1053},[714,4074,845],{"class":731},[714,4076,829],{"class":739},[714,4078,850],{"class":727},[714,4080,732],{"class":771},[714,4082,855],{"class":739},[714,4084,920],{"class":771},[714,4086,860],{"class":739},[714,4088,784],{"class":739},[714,4090,958],{"class":771},[714,4092,860],{"class":739},[714,4094,913],{"class":731},[714,4096,829],{"class":739},[714,4098,967],{"class":731},[714,4100,790],{"class":739},[714,4102,790],{"class":739},[714,4104,776],{"class":771},[714,4106,4107],{"class":716,"line":1070},[714,4108,811],{"emptyLinePlaceholder":810},[714,4110,4111,4113,4115,4117,4119,4121,4123,4125,4127,4129,4131,4133,4135],{"class":716,"line":1087},[714,4112,1109],{"class":720},[714,4114,3924],{"class":731},[714,4116,829],{"class":739},[714,4118,1256],{"class":727},[714,4120,732],{"class":771},[714,4122,855],{"class":739},[714,4124,1114],{"class":771},[714,4126,860],{"class":739},[714,4128,913],{"class":731},[714,4130,829],{"class":739},[714,4132,967],{"class":731},[714,4134,790],{"class":739},[714,4136,776],{"class":771},[714,4138,4139,4141],{"class":716,"line":1095},[714,4140,1131],{"class":739},[714,4142,776],{"class":731},[539,4144,4145],{"v-slot:fastify":541},[704,4146,4148],{"className":706,"code":4147,"filename":3425,"language":709,"meta":541,"style":541},"import { evlog } from 'evlog\u002Ffastify'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = Fastify({ logger: false })\nawait app.register(evlog, { drain: createAxiomDrain() })\n\napp.post('\u002Fcheckout', async (request) => {\n  const { cartId } = request.body\n\n  const cart = await db.findCart(cartId)\n  request.log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const charge = await stripe.charge(cart.total)\n  request.log.set({ stripe: { chargeId: charge.id } })\n\n  return { orderId: charge.id }\n})\n",[711,4149,4150,4169,4187,4191,4219,4251,4255,4286,4304,4308,4330,4385,4389,4415,4453,4457,4475],{"__ignoreMap":541},[714,4151,4152,4154,4156,4158,4160,4162,4164,4167],{"class":716,"line":717},[714,4153,1146],{"class":720},[714,4155,784],{"class":739},[714,4157,3436],{"class":731},[714,4159,790],{"class":739},[714,4161,1160],{"class":720},[714,4163,1041],{"class":739},[714,4165,4166],{"class":1044},"evlog\u002Ffastify",[714,4168,1168],{"class":739},[714,4170,4171,4173,4175,4177,4179,4181,4183,4185],{"class":716,"line":756},[714,4172,1146],{"class":720},[714,4174,784],{"class":739},[714,4176,3320],{"class":731},[714,4178,790],{"class":739},[714,4180,1160],{"class":720},[714,4182,1041],{"class":739},[714,4184,3329],{"class":1044},[714,4186,1168],{"class":739},[714,4188,4189],{"class":716,"line":779},[714,4190,811],{"emptyLinePlaceholder":810},[714,4192,4193,4195,4197,4199,4202,4204,4206,4209,4211,4215,4217],{"class":716,"line":807},[714,4194,3478],{"class":735},[714,4196,3481],{"class":731},[714,4198,1204],{"class":739},[714,4200,4201],{"class":727}," Fastify",[714,4203,732],{"class":731},[714,4205,855],{"class":739},[714,4207,4208],{"class":771}," logger",[714,4210,860],{"class":739},[714,4212,4214],{"class":4213},"sfNiH"," false",[714,4216,790],{"class":739},[714,4218,776],{"class":731},[714,4220,4221,4224,4227,4229,4232,4235,4237,4239,4241,4243,4245,4247,4249],{"class":716,"line":814},[714,4222,4223],{"class":720},"await",[714,4225,4226],{"class":731}," app",[714,4228,829],{"class":739},[714,4230,4231],{"class":727},"register",[714,4233,4234],{"class":731},"(evlog",[714,4236,882],{"class":739},[714,4238,784],{"class":739},[714,4240,3509],{"class":771},[714,4242,860],{"class":739},[714,4244,3320],{"class":727},[714,4246,3516],{"class":731},[714,4248,1131],{"class":739},[714,4250,776],{"class":731},[714,4252,4253],{"class":716,"line":842},[714,4254,811],{"emptyLinePlaceholder":810},[714,4256,4257,4259,4261,4263,4265,4267,4269,4271,4273,4275,4277,4280,4282,4284],{"class":716,"line":903},[714,4258,3493],{"class":731},[714,4260,829],{"class":739},[714,4262,3534],{"class":727},[714,4264,732],{"class":731},[714,4266,1048],{"class":739},[714,4268,3541],{"class":1044},[714,4270,1048],{"class":739},[714,4272,882],{"class":739},[714,4274,1645],{"class":735},[714,4276,740],{"class":739},[714,4278,4279],{"class":743},"request",[714,4281,747],{"class":739},[714,4283,750],{"class":735},[714,4285,753],{"class":739},[714,4287,4288,4290,4292,4294,4296,4298,4300,4302],{"class":716,"line":908},[714,4289,759],{"class":735},[714,4291,784],{"class":739},[714,4293,787],{"class":731},[714,4295,790],{"class":739},[714,4297,765],{"class":739},[714,4299,1651],{"class":731},[714,4301,829],{"class":739},[714,4303,3593],{"class":731},[714,4305,4306],{"class":716,"line":939},[714,4307,811],{"emptyLinePlaceholder":810},[714,4309,4310,4312,4314,4316,4318,4320,4322,4324,4326,4328],{"class":716,"line":976},[714,4311,759],{"class":735},[714,4313,819],{"class":731},[714,4315,765],{"class":739},[714,4317,795],{"class":720},[714,4319,826],{"class":731},[714,4321,829],{"class":739},[714,4323,832],{"class":727},[714,4325,732],{"class":771},[714,4327,837],{"class":731},[714,4329,776],{"class":771},[714,4331,4332,4335,4337,4339,4341,4343,4345,4347,4349,4351,4353,4355,4357,4359,4361,4363,4365,4367,4369,4371,4373,4375,4377,4379,4381,4383],{"class":716,"line":981},[714,4333,4334],{"class":731},"  request",[714,4336,829],{"class":739},[714,4338,2530],{"class":731},[714,4340,829],{"class":739},[714,4342,850],{"class":727},[714,4344,732],{"class":771},[714,4346,855],{"class":739},[714,4348,819],{"class":771},[714,4350,860],{"class":739},[714,4352,784],{"class":739},[714,4354,865],{"class":771},[714,4356,860],{"class":739},[714,4358,819],{"class":731},[714,4360,829],{"class":739},[714,4362,874],{"class":731},[714,4364,829],{"class":739},[714,4366,879],{"class":731},[714,4368,882],{"class":739},[714,4370,885],{"class":771},[714,4372,860],{"class":739},[714,4374,819],{"class":731},[714,4376,829],{"class":739},[714,4378,894],{"class":731},[714,4380,790],{"class":739},[714,4382,790],{"class":739},[714,4384,776],{"class":771},[714,4386,4387],{"class":716,"line":1005},[714,4388,811],{"emptyLinePlaceholder":810},[714,4390,4391,4393,4395,4397,4399,4401,4403,4405,4407,4409,4411,4413],{"class":716,"line":1018},[714,4392,759],{"class":735},[714,4394,913],{"class":731},[714,4396,765],{"class":739},[714,4398,795],{"class":720},[714,4400,920],{"class":731},[714,4402,829],{"class":739},[714,4404,925],{"class":727},[714,4406,732],{"class":771},[714,4408,930],{"class":731},[714,4410,829],{"class":739},[714,4412,894],{"class":731},[714,4414,776],{"class":771},[714,4416,4417,4419,4421,4423,4425,4427,4429,4431,4433,4435,4437,4439,4441,4443,4445,4447,4449,4451],{"class":716,"line":1033},[714,4418,4334],{"class":731},[714,4420,829],{"class":739},[714,4422,2530],{"class":731},[714,4424,829],{"class":739},[714,4426,850],{"class":727},[714,4428,732],{"class":771},[714,4430,855],{"class":739},[714,4432,920],{"class":771},[714,4434,860],{"class":739},[714,4436,784],{"class":739},[714,4438,958],{"class":771},[714,4440,860],{"class":739},[714,4442,913],{"class":731},[714,4444,829],{"class":739},[714,4446,967],{"class":731},[714,4448,790],{"class":739},[714,4450,790],{"class":739},[714,4452,776],{"class":771},[714,4454,4455],{"class":716,"line":1053},[714,4456,811],{"emptyLinePlaceholder":810},[714,4458,4459,4461,4463,4465,4467,4469,4471,4473],{"class":716,"line":1070},[714,4460,1109],{"class":720},[714,4462,784],{"class":739},[714,4464,1114],{"class":771},[714,4466,860],{"class":739},[714,4468,913],{"class":731},[714,4470,829],{"class":739},[714,4472,967],{"class":731},[714,4474,1125],{"class":739},[714,4476,4477,4479],{"class":716,"line":1087},[714,4478,1131],{"class":739},[714,4480,776],{"class":731},[539,4482,4483],{"v-slot:elysia":541},[704,4484,4486],{"className":706,"code":4485,"filename":3425,"language":709,"meta":541,"style":541},"import { evlog } from 'evlog\u002Felysia'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst app = new Elysia()\n  .use(evlog({ drain: createAxiomDrain() }))\n  .post('\u002Fcheckout', async ({ log, body }) => {\n    const { cartId } = body\n\n    const cart = await db.findCart(cartId)\n    log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n    const charge = await stripe.charge(cart.total)\n    log.set({ stripe: { chargeId: charge.id } })\n\n    return { orderId: charge.id }\n  })\n",[711,4487,4488,4507,4525,4529,4544,4571,4604,4620,4624,4646,4697,4701,4727,4761,4765,4784],{"__ignoreMap":541},[714,4489,4490,4492,4494,4496,4498,4500,4502,4505],{"class":716,"line":717},[714,4491,1146],{"class":720},[714,4493,784],{"class":739},[714,4495,3436],{"class":731},[714,4497,790],{"class":739},[714,4499,1160],{"class":720},[714,4501,1041],{"class":739},[714,4503,4504],{"class":1044},"evlog\u002Felysia",[714,4506,1168],{"class":739},[714,4508,4509,4511,4513,4515,4517,4519,4521,4523],{"class":716,"line":756},[714,4510,1146],{"class":720},[714,4512,784],{"class":739},[714,4514,3320],{"class":731},[714,4516,790],{"class":739},[714,4518,1160],{"class":720},[714,4520,1041],{"class":739},[714,4522,3329],{"class":1044},[714,4524,1168],{"class":739},[714,4526,4527],{"class":716,"line":779},[714,4528,811],{"emptyLinePlaceholder":810},[714,4530,4531,4533,4535,4537,4539,4542],{"class":716,"line":807},[714,4532,3478],{"class":735},[714,4534,3481],{"class":731},[714,4536,1204],{"class":739},[714,4538,3836],{"class":739},[714,4540,4541],{"class":727}," Elysia",[714,4543,1234],{"class":731},[714,4545,4546,4549,4551,4553,4555,4557,4559,4561,4563,4565,4567,4569],{"class":716,"line":814},[714,4547,4548],{"class":739},"  .",[714,4550,3498],{"class":727},[714,4552,732],{"class":731},[714,4554,1185],{"class":727},[714,4556,732],{"class":731},[714,4558,855],{"class":739},[714,4560,3509],{"class":771},[714,4562,860],{"class":739},[714,4564,3320],{"class":727},[714,4566,3516],{"class":731},[714,4568,1131],{"class":739},[714,4570,3521],{"class":731},[714,4572,4573,4575,4577,4579,4581,4583,4585,4587,4589,4591,4593,4595,4598,4600,4602],{"class":716,"line":842},[714,4574,4548],{"class":739},[714,4576,3534],{"class":727},[714,4578,732],{"class":731},[714,4580,1048],{"class":739},[714,4582,3541],{"class":1044},[714,4584,1048],{"class":739},[714,4586,882],{"class":739},[714,4588,1645],{"class":735},[714,4590,1648],{"class":739},[714,4592,762],{"class":743},[714,4594,882],{"class":739},[714,4596,4597],{"class":743}," body",[714,4599,1654],{"class":739},[714,4601,750],{"class":735},[714,4603,753],{"class":739},[714,4605,4606,4609,4611,4613,4615,4617],{"class":716,"line":903},[714,4607,4608],{"class":735},"    const",[714,4610,784],{"class":739},[714,4612,787],{"class":731},[714,4614,790],{"class":739},[714,4616,765],{"class":739},[714,4618,4619],{"class":731}," body\n",[714,4621,4622],{"class":716,"line":908},[714,4623,811],{"emptyLinePlaceholder":810},[714,4625,4626,4628,4630,4632,4634,4636,4638,4640,4642,4644],{"class":716,"line":939},[714,4627,4608],{"class":735},[714,4629,819],{"class":731},[714,4631,765],{"class":739},[714,4633,795],{"class":720},[714,4635,826],{"class":731},[714,4637,829],{"class":739},[714,4639,832],{"class":727},[714,4641,732],{"class":771},[714,4643,837],{"class":731},[714,4645,776],{"class":771},[714,4647,4648,4651,4653,4655,4657,4659,4661,4663,4665,4667,4669,4671,4673,4675,4677,4679,4681,4683,4685,4687,4689,4691,4693,4695],{"class":716,"line":976},[714,4649,4650],{"class":731},"    log",[714,4652,829],{"class":739},[714,4654,850],{"class":727},[714,4656,732],{"class":771},[714,4658,855],{"class":739},[714,4660,819],{"class":771},[714,4662,860],{"class":739},[714,4664,784],{"class":739},[714,4666,865],{"class":771},[714,4668,860],{"class":739},[714,4670,819],{"class":731},[714,4672,829],{"class":739},[714,4674,874],{"class":731},[714,4676,829],{"class":739},[714,4678,879],{"class":731},[714,4680,882],{"class":739},[714,4682,885],{"class":771},[714,4684,860],{"class":739},[714,4686,819],{"class":731},[714,4688,829],{"class":739},[714,4690,894],{"class":731},[714,4692,790],{"class":739},[714,4694,790],{"class":739},[714,4696,776],{"class":771},[714,4698,4699],{"class":716,"line":981},[714,4700,811],{"emptyLinePlaceholder":810},[714,4702,4703,4705,4707,4709,4711,4713,4715,4717,4719,4721,4723,4725],{"class":716,"line":1005},[714,4704,4608],{"class":735},[714,4706,913],{"class":731},[714,4708,765],{"class":739},[714,4710,795],{"class":720},[714,4712,920],{"class":731},[714,4714,829],{"class":739},[714,4716,925],{"class":727},[714,4718,732],{"class":771},[714,4720,930],{"class":731},[714,4722,829],{"class":739},[714,4724,894],{"class":731},[714,4726,776],{"class":771},[714,4728,4729,4731,4733,4735,4737,4739,4741,4743,4745,4747,4749,4751,4753,4755,4757,4759],{"class":716,"line":1018},[714,4730,4650],{"class":731},[714,4732,829],{"class":739},[714,4734,850],{"class":727},[714,4736,732],{"class":771},[714,4738,855],{"class":739},[714,4740,920],{"class":771},[714,4742,860],{"class":739},[714,4744,784],{"class":739},[714,4746,958],{"class":771},[714,4748,860],{"class":739},[714,4750,913],{"class":731},[714,4752,829],{"class":739},[714,4754,967],{"class":731},[714,4756,790],{"class":739},[714,4758,790],{"class":739},[714,4760,776],{"class":771},[714,4762,4763],{"class":716,"line":1033},[714,4764,811],{"emptyLinePlaceholder":810},[714,4766,4767,4770,4772,4774,4776,4778,4780,4782],{"class":716,"line":1053},[714,4768,4769],{"class":720},"    return",[714,4771,784],{"class":739},[714,4773,1114],{"class":771},[714,4775,860],{"class":739},[714,4777,913],{"class":731},[714,4779,829],{"class":739},[714,4781,967],{"class":731},[714,4783,1125],{"class":739},[714,4785,4786,4789],{"class":716,"line":1070},[714,4787,4788],{"class":739},"  }",[714,4790,776],{"class":731},[539,4792,4793],{"v-slot:orpc":541},[704,4794,4797],{"className":706,"code":4795,"filename":4796,"language":709,"meta":541,"style":541},"import { os } from '@orpc\u002Fserver'\nimport { RPCHandler } from '@orpc\u002Fserver\u002Ffetch'\nimport { evlog, withEvlog, type EvlogOrpcContext } from 'evlog\u002Forpc'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nconst base = os.$context\u003CEvlogOrpcContext>().use(evlog())\n\nconst router = {\n  checkout: base\n    .input(z.object({ cartId: z.string() }))\n    .handler(async ({ input, context }) => {\n      const cart = await db.findCart(input.cartId)\n      context.log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n      const charge = await stripe.charge(cart.total)\n      context.log.set({ stripe: { chargeId: charge.id } })\n\n      return { orderId: charge.id }\n    }),\n}\n\nconst handler = withEvlog(new RPCHandler(router), { drain: createAxiomDrain() })\n","server\u002Forpc.ts",[711,4798,4799,4819,4839,4869,4887,4891,4927,4931,4942,4952,4990,5016,5043,5098,5102,5128,5166,5170,5189,5197,5201,5205],{"__ignoreMap":541},[714,4800,4801,4803,4805,4808,4810,4812,4814,4817],{"class":716,"line":717},[714,4802,1146],{"class":720},[714,4804,784],{"class":739},[714,4806,4807],{"class":731}," os",[714,4809,790],{"class":739},[714,4811,1160],{"class":720},[714,4813,1041],{"class":739},[714,4815,4816],{"class":1044},"@orpc\u002Fserver",[714,4818,1168],{"class":739},[714,4820,4821,4823,4825,4828,4830,4832,4834,4837],{"class":716,"line":756},[714,4822,1146],{"class":720},[714,4824,784],{"class":739},[714,4826,4827],{"class":731}," RPCHandler",[714,4829,790],{"class":739},[714,4831,1160],{"class":720},[714,4833,1041],{"class":739},[714,4835,4836],{"class":1044},"@orpc\u002Fserver\u002Ffetch",[714,4838,1168],{"class":739},[714,4840,4841,4843,4845,4847,4849,4851,4853,4855,4858,4860,4862,4864,4867],{"class":716,"line":779},[714,4842,1146],{"class":720},[714,4844,784],{"class":739},[714,4846,3436],{"class":731},[714,4848,882],{"class":739},[714,4850,1151],{"class":731},[714,4852,882],{"class":739},[714,4854,1606],{"class":720},[714,4856,4857],{"class":731}," EvlogOrpcContext",[714,4859,790],{"class":739},[714,4861,1160],{"class":720},[714,4863,1041],{"class":739},[714,4865,4866],{"class":1044},"evlog\u002Forpc",[714,4868,1168],{"class":739},[714,4870,4871,4873,4875,4877,4879,4881,4883,4885],{"class":716,"line":807},[714,4872,1146],{"class":720},[714,4874,784],{"class":739},[714,4876,3320],{"class":731},[714,4878,790],{"class":739},[714,4880,1160],{"class":720},[714,4882,1041],{"class":739},[714,4884,3329],{"class":1044},[714,4886,1168],{"class":739},[714,4888,4889],{"class":716,"line":814},[714,4890,811],{"emptyLinePlaceholder":810},[714,4892,4893,4895,4898,4900,4902,4904,4907,4909,4912,4914,4916,4918,4920,4922,4924],{"class":716,"line":842},[714,4894,3478],{"class":735},[714,4896,4897],{"class":731}," base ",[714,4899,1204],{"class":739},[714,4901,4807],{"class":731},[714,4903,829],{"class":739},[714,4905,4906],{"class":727},"$context",[714,4908,3842],{"class":739},[714,4910,4911],{"class":1640},"EvlogOrpcContext",[714,4913,3848],{"class":739},[714,4915,3383],{"class":731},[714,4917,829],{"class":739},[714,4919,3498],{"class":727},[714,4921,732],{"class":731},[714,4923,1185],{"class":727},[714,4925,4926],{"class":731},"())\n",[714,4928,4929],{"class":716,"line":903},[714,4930,811],{"emptyLinePlaceholder":810},[714,4932,4933,4935,4938,4940],{"class":716,"line":908},[714,4934,3478],{"class":735},[714,4936,4937],{"class":731}," router ",[714,4939,1204],{"class":739},[714,4941,753],{"class":739},[714,4943,4944,4947,4949],{"class":716,"line":939},[714,4945,4946],{"class":771},"  checkout",[714,4948,860],{"class":739},[714,4950,4951],{"class":731}," base\n",[714,4953,4954,4957,4960,4963,4965,4968,4970,4972,4974,4976,4979,4981,4984,4986,4988],{"class":716,"line":976},[714,4955,4956],{"class":739},"    .",[714,4958,4959],{"class":727},"input",[714,4961,4962],{"class":731},"(z",[714,4964,829],{"class":739},[714,4966,4967],{"class":727},"object",[714,4969,732],{"class":731},[714,4971,855],{"class":739},[714,4973,787],{"class":771},[714,4975,860],{"class":739},[714,4977,4978],{"class":731}," z",[714,4980,829],{"class":739},[714,4982,4983],{"class":727},"string",[714,4985,3516],{"class":731},[714,4987,1131],{"class":739},[714,4989,3521],{"class":731},[714,4991,4992,4994,4997,4999,5001,5003,5006,5008,5010,5012,5014],{"class":716,"line":981},[714,4993,4956],{"class":739},[714,4995,4996],{"class":727},"handler",[714,4998,732],{"class":731},[714,5000,736],{"class":735},[714,5002,1648],{"class":739},[714,5004,5005],{"class":743}," input",[714,5007,882],{"class":739},[714,5009,2934],{"class":743},[714,5011,1654],{"class":739},[714,5013,750],{"class":735},[714,5015,753],{"class":739},[714,5017,5018,5021,5023,5025,5027,5029,5031,5033,5035,5037,5039,5041],{"class":716,"line":1005},[714,5019,5020],{"class":735},"      const",[714,5022,819],{"class":731},[714,5024,765],{"class":739},[714,5026,795],{"class":720},[714,5028,826],{"class":731},[714,5030,829],{"class":739},[714,5032,832],{"class":727},[714,5034,732],{"class":771},[714,5036,4959],{"class":731},[714,5038,829],{"class":739},[714,5040,837],{"class":731},[714,5042,776],{"class":771},[714,5044,5045,5048,5050,5052,5054,5056,5058,5060,5062,5064,5066,5068,5070,5072,5074,5076,5078,5080,5082,5084,5086,5088,5090,5092,5094,5096],{"class":716,"line":1018},[714,5046,5047],{"class":731},"      context",[714,5049,829],{"class":739},[714,5051,2530],{"class":731},[714,5053,829],{"class":739},[714,5055,850],{"class":727},[714,5057,732],{"class":771},[714,5059,855],{"class":739},[714,5061,819],{"class":771},[714,5063,860],{"class":739},[714,5065,784],{"class":739},[714,5067,865],{"class":771},[714,5069,860],{"class":739},[714,5071,819],{"class":731},[714,5073,829],{"class":739},[714,5075,874],{"class":731},[714,5077,829],{"class":739},[714,5079,879],{"class":731},[714,5081,882],{"class":739},[714,5083,885],{"class":771},[714,5085,860],{"class":739},[714,5087,819],{"class":731},[714,5089,829],{"class":739},[714,5091,894],{"class":731},[714,5093,790],{"class":739},[714,5095,790],{"class":739},[714,5097,776],{"class":771},[714,5099,5100],{"class":716,"line":1033},[714,5101,811],{"emptyLinePlaceholder":810},[714,5103,5104,5106,5108,5110,5112,5114,5116,5118,5120,5122,5124,5126],{"class":716,"line":1053},[714,5105,5020],{"class":735},[714,5107,913],{"class":731},[714,5109,765],{"class":739},[714,5111,795],{"class":720},[714,5113,920],{"class":731},[714,5115,829],{"class":739},[714,5117,925],{"class":727},[714,5119,732],{"class":771},[714,5121,930],{"class":731},[714,5123,829],{"class":739},[714,5125,894],{"class":731},[714,5127,776],{"class":771},[714,5129,5130,5132,5134,5136,5138,5140,5142,5144,5146,5148,5150,5152,5154,5156,5158,5160,5162,5164],{"class":716,"line":1070},[714,5131,5047],{"class":731},[714,5133,829],{"class":739},[714,5135,2530],{"class":731},[714,5137,829],{"class":739},[714,5139,850],{"class":727},[714,5141,732],{"class":771},[714,5143,855],{"class":739},[714,5145,920],{"class":771},[714,5147,860],{"class":739},[714,5149,784],{"class":739},[714,5151,958],{"class":771},[714,5153,860],{"class":739},[714,5155,913],{"class":731},[714,5157,829],{"class":739},[714,5159,967],{"class":731},[714,5161,790],{"class":739},[714,5163,790],{"class":739},[714,5165,776],{"class":771},[714,5167,5168],{"class":716,"line":1087},[714,5169,811],{"emptyLinePlaceholder":810},[714,5171,5172,5175,5177,5179,5181,5183,5185,5187],{"class":716,"line":1095},[714,5173,5174],{"class":720},"      return",[714,5176,784],{"class":739},[714,5178,1114],{"class":771},[714,5180,860],{"class":739},[714,5182,913],{"class":731},[714,5184,829],{"class":739},[714,5186,967],{"class":731},[714,5188,1125],{"class":739},[714,5190,5191,5193,5195],{"class":716,"line":1101},[714,5192,1090],{"class":739},[714,5194,747],{"class":731},[714,5196,1030],{"class":739},[714,5198,5199],{"class":716,"line":1106},[714,5200,1961],{"class":739},[714,5202,5203],{"class":716,"line":1128},[714,5204,811],{"emptyLinePlaceholder":810},[714,5206,5207,5209,5212,5214,5216,5218,5221,5223,5226,5228,5230,5232,5234,5236,5238,5240],{"class":716,"line":1495},[714,5208,3478],{"class":735},[714,5210,5211],{"class":731}," handler ",[714,5213,1204],{"class":739},[714,5215,1151],{"class":727},[714,5217,732],{"class":731},[714,5219,5220],{"class":739},"new",[714,5222,4827],{"class":727},[714,5224,5225],{"class":731},"(router)",[714,5227,882],{"class":739},[714,5229,784],{"class":739},[714,5231,3509],{"class":771},[714,5233,860],{"class":739},[714,5235,3320],{"class":727},[714,5237,3516],{"class":731},[714,5239,1131],{"class":739},[714,5241,776],{"class":731},[539,5243,5244],{"v-slot:cloudflare":541},[704,5245,5248],{"className":706,"code":5246,"filename":5247,"language":709,"meta":541,"style":541},"import { defineWorkerFetch, initWorkersLogger } from 'evlog\u002Fworkers'\n\ninitWorkersLogger({ env: { service: 'checkout-worker' } })\n\nexport default defineWorkerFetch(async (request, env, _ctx, log) => {\n  const { cartId } = await request.json()\n  const cart = await env.DB.findCart(cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  log.emit()\n  return Response.json({ orderId: cart.id })\n})\n","src\u002Fworker.ts",[711,5249,5250,5275,5279,5313,5317,5352,5374,5401,5451,5455,5466,5494],{"__ignoreMap":541},[714,5251,5252,5254,5256,5259,5261,5264,5266,5268,5270,5273],{"class":716,"line":717},[714,5253,1146],{"class":720},[714,5255,784],{"class":739},[714,5257,5258],{"class":731}," defineWorkerFetch",[714,5260,882],{"class":739},[714,5262,5263],{"class":731}," initWorkersLogger",[714,5265,790],{"class":739},[714,5267,1160],{"class":720},[714,5269,1041],{"class":739},[714,5271,5272],{"class":1044},"evlog\u002Fworkers",[714,5274,1168],{"class":739},[714,5276,5277],{"class":716,"line":756},[714,5278,811],{"emptyLinePlaceholder":810},[714,5280,5281,5284,5286,5288,5291,5293,5295,5298,5300,5302,5305,5307,5309,5311],{"class":716,"line":779},[714,5282,5283],{"class":727},"initWorkersLogger",[714,5285,732],{"class":731},[714,5287,855],{"class":739},[714,5289,5290],{"class":771}," env",[714,5292,860],{"class":739},[714,5294,784],{"class":739},[714,5296,5297],{"class":771}," service",[714,5299,860],{"class":739},[714,5301,1041],{"class":739},[714,5303,5304],{"class":1044},"checkout-worker",[714,5306,1048],{"class":739},[714,5308,790],{"class":739},[714,5310,790],{"class":739},[714,5312,776],{"class":731},[714,5314,5315],{"class":716,"line":807},[714,5316,811],{"emptyLinePlaceholder":810},[714,5318,5319,5321,5323,5325,5327,5329,5331,5333,5335,5337,5339,5342,5344,5346,5348,5350],{"class":716,"line":814},[714,5320,721],{"class":720},[714,5322,724],{"class":720},[714,5324,5258],{"class":727},[714,5326,732],{"class":731},[714,5328,736],{"class":735},[714,5330,740],{"class":739},[714,5332,4279],{"class":743},[714,5334,882],{"class":739},[714,5336,5290],{"class":743},[714,5338,882],{"class":739},[714,5340,5341],{"class":743}," _ctx",[714,5343,882],{"class":739},[714,5345,762],{"class":743},[714,5347,747],{"class":739},[714,5349,750],{"class":735},[714,5351,753],{"class":739},[714,5353,5354,5356,5358,5360,5362,5364,5366,5368,5370,5372],{"class":716,"line":842},[714,5355,759],{"class":735},[714,5357,784],{"class":739},[714,5359,787],{"class":731},[714,5361,790],{"class":739},[714,5363,765],{"class":739},[714,5365,795],{"class":720},[714,5367,1651],{"class":731},[714,5369,829],{"class":739},[714,5371,1256],{"class":727},[714,5373,1234],{"class":771},[714,5375,5376,5378,5380,5382,5384,5386,5388,5391,5393,5395,5397,5399],{"class":716,"line":903},[714,5377,759],{"class":735},[714,5379,819],{"class":731},[714,5381,765],{"class":739},[714,5383,795],{"class":720},[714,5385,5290],{"class":731},[714,5387,829],{"class":739},[714,5389,5390],{"class":731},"DB",[714,5392,829],{"class":739},[714,5394,832],{"class":727},[714,5396,732],{"class":771},[714,5398,837],{"class":731},[714,5400,776],{"class":771},[714,5402,5403,5405,5407,5409,5411,5413,5415,5417,5419,5421,5423,5425,5427,5429,5431,5433,5435,5437,5439,5441,5443,5445,5447,5449],{"class":716,"line":908},[714,5404,845],{"class":731},[714,5406,829],{"class":739},[714,5408,850],{"class":727},[714,5410,732],{"class":771},[714,5412,855],{"class":739},[714,5414,819],{"class":771},[714,5416,860],{"class":739},[714,5418,784],{"class":739},[714,5420,865],{"class":771},[714,5422,860],{"class":739},[714,5424,819],{"class":731},[714,5426,829],{"class":739},[714,5428,874],{"class":731},[714,5430,829],{"class":739},[714,5432,879],{"class":731},[714,5434,882],{"class":739},[714,5436,885],{"class":771},[714,5438,860],{"class":739},[714,5440,819],{"class":731},[714,5442,829],{"class":739},[714,5444,894],{"class":731},[714,5446,790],{"class":739},[714,5448,790],{"class":739},[714,5450,776],{"class":771},[714,5452,5453],{"class":716,"line":939},[714,5454,811],{"emptyLinePlaceholder":810},[714,5456,5457,5459,5461,5464],{"class":716,"line":976},[714,5458,845],{"class":731},[714,5460,829],{"class":739},[714,5462,5463],{"class":727},"emit",[714,5465,1234],{"class":771},[714,5467,5468,5470,5472,5474,5476,5478,5480,5482,5484,5486,5488,5490,5492],{"class":716,"line":981},[714,5469,1109],{"class":720},[714,5471,1505],{"class":731},[714,5473,829],{"class":739},[714,5475,1256],{"class":727},[714,5477,732],{"class":771},[714,5479,855],{"class":739},[714,5481,1114],{"class":771},[714,5483,860],{"class":739},[714,5485,819],{"class":731},[714,5487,829],{"class":739},[714,5489,967],{"class":731},[714,5491,790],{"class":739},[714,5493,776],{"class":771},[714,5495,5496,5498],{"class":716,"line":1005},[714,5497,1131],{"class":739},[714,5499,776],{"class":731},[539,5501,5502],{"v-slot:bun":541},[704,5503,5506],{"className":706,"code":5504,"filename":5505,"language":709,"meta":541,"style":541},"import { initLogger, createLogger } from 'evlog'\n\ninitLogger({ env: { service: 'migrate' } })\n\nconst log = createLogger({ task: 'user-migration' })\n\nconst users = await db.query('SELECT * FROM legacy_users')\nlog.set({ found: users.length })\n\nfor (const user of users) {\n  await newDb.upsert({ id: user.id, email: user.email, plan: user.plan })\n}\n\nlog.set({ migrated: users.length, status: 'complete' })\nlog.emit()\n","scripts\u002Fmigrate-users.ts",[711,5507,5508,5532,5536,5568,5572,5603,5607,5636,5665,5669,5689,5750,5754,5758,5799],{"__ignoreMap":541},[714,5509,5510,5512,5514,5517,5519,5522,5524,5526,5528,5530],{"class":716,"line":717},[714,5511,1146],{"class":720},[714,5513,784],{"class":739},[714,5515,5516],{"class":731}," initLogger",[714,5518,882],{"class":739},[714,5520,5521],{"class":731}," createLogger",[714,5523,790],{"class":739},[714,5525,1160],{"class":720},[714,5527,1041],{"class":739},[714,5529,1185],{"class":1044},[714,5531,1168],{"class":739},[714,5533,5534],{"class":716,"line":756},[714,5535,811],{"emptyLinePlaceholder":810},[714,5537,5538,5541,5543,5545,5547,5549,5551,5553,5555,5557,5560,5562,5564,5566],{"class":716,"line":779},[714,5539,5540],{"class":727},"initLogger",[714,5542,732],{"class":731},[714,5544,855],{"class":739},[714,5546,5290],{"class":771},[714,5548,860],{"class":739},[714,5550,784],{"class":739},[714,5552,5297],{"class":771},[714,5554,860],{"class":739},[714,5556,1041],{"class":739},[714,5558,5559],{"class":1044},"migrate",[714,5561,1048],{"class":739},[714,5563,790],{"class":739},[714,5565,790],{"class":739},[714,5567,776],{"class":731},[714,5569,5570],{"class":716,"line":807},[714,5571,811],{"emptyLinePlaceholder":810},[714,5573,5574,5576,5579,5581,5583,5585,5587,5590,5592,5594,5597,5599,5601],{"class":716,"line":814},[714,5575,3478],{"class":735},[714,5577,5578],{"class":731}," log ",[714,5580,1204],{"class":739},[714,5582,5521],{"class":727},[714,5584,732],{"class":731},[714,5586,855],{"class":739},[714,5588,5589],{"class":771}," task",[714,5591,860],{"class":739},[714,5593,1041],{"class":739},[714,5595,5596],{"class":1044},"user-migration",[714,5598,1048],{"class":739},[714,5600,790],{"class":739},[714,5602,776],{"class":731},[714,5604,5605],{"class":716,"line":842},[714,5606,811],{"emptyLinePlaceholder":810},[714,5608,5609,5611,5614,5616,5618,5620,5622,5625,5627,5629,5632,5634],{"class":716,"line":903},[714,5610,3478],{"class":735},[714,5612,5613],{"class":731}," users ",[714,5615,1204],{"class":739},[714,5617,795],{"class":720},[714,5619,826],{"class":731},[714,5621,829],{"class":739},[714,5623,5624],{"class":727},"query",[714,5626,732],{"class":731},[714,5628,1048],{"class":739},[714,5630,5631],{"class":1044},"SELECT * FROM legacy_users",[714,5633,1048],{"class":739},[714,5635,776],{"class":731},[714,5637,5638,5640,5642,5644,5646,5648,5651,5653,5656,5658,5661,5663],{"class":716,"line":908},[714,5639,2530],{"class":731},[714,5641,829],{"class":739},[714,5643,850],{"class":727},[714,5645,732],{"class":731},[714,5647,855],{"class":739},[714,5649,5650],{"class":771}," found",[714,5652,860],{"class":739},[714,5654,5655],{"class":731}," users",[714,5657,829],{"class":739},[714,5659,5660],{"class":731},"length ",[714,5662,1131],{"class":739},[714,5664,776],{"class":731},[714,5666,5667],{"class":716,"line":939},[714,5668,811],{"emptyLinePlaceholder":810},[714,5670,5671,5674,5676,5678,5681,5684,5687],{"class":716,"line":976},[714,5672,5673],{"class":720},"for",[714,5675,740],{"class":731},[714,5677,3478],{"class":735},[714,5679,5680],{"class":731}," user ",[714,5682,5683],{"class":739},"of",[714,5685,5686],{"class":731}," users) ",[714,5688,1002],{"class":739},[714,5690,5691,5694,5697,5699,5702,5704,5706,5709,5711,5714,5716,5718,5720,5723,5725,5727,5729,5732,5734,5737,5739,5741,5743,5746,5748],{"class":716,"line":981},[714,5692,5693],{"class":720},"  await",[714,5695,5696],{"class":731}," newDb",[714,5698,829],{"class":739},[714,5700,5701],{"class":727},"upsert",[714,5703,732],{"class":771},[714,5705,855],{"class":739},[714,5707,5708],{"class":771}," id",[714,5710,860],{"class":739},[714,5712,5713],{"class":731}," user",[714,5715,829],{"class":739},[714,5717,967],{"class":731},[714,5719,882],{"class":739},[714,5721,5722],{"class":771}," email",[714,5724,860],{"class":739},[714,5726,5713],{"class":731},[714,5728,829],{"class":739},[714,5730,5731],{"class":731},"email",[714,5733,882],{"class":739},[714,5735,5736],{"class":771}," plan",[714,5738,860],{"class":739},[714,5740,5713],{"class":731},[714,5742,829],{"class":739},[714,5744,5745],{"class":731},"plan",[714,5747,790],{"class":739},[714,5749,776],{"class":771},[714,5751,5752],{"class":716,"line":1005},[714,5753,1961],{"class":739},[714,5755,5756],{"class":716,"line":1018},[714,5757,811],{"emptyLinePlaceholder":810},[714,5759,5760,5762,5764,5766,5768,5770,5773,5775,5777,5779,5781,5783,5786,5788,5790,5793,5795,5797],{"class":716,"line":1033},[714,5761,2530],{"class":731},[714,5763,829],{"class":739},[714,5765,850],{"class":727},[714,5767,732],{"class":731},[714,5769,855],{"class":739},[714,5771,5772],{"class":771}," migrated",[714,5774,860],{"class":739},[714,5776,5655],{"class":731},[714,5778,829],{"class":739},[714,5780,879],{"class":731},[714,5782,882],{"class":739},[714,5784,5785],{"class":771}," status",[714,5787,860],{"class":739},[714,5789,1041],{"class":739},[714,5791,5792],{"class":1044},"complete",[714,5794,1048],{"class":739},[714,5796,790],{"class":739},[714,5798,776],{"class":731},[714,5800,5801,5803,5805,5807],{"class":716,"line":1053},[714,5802,2530],{"class":731},[714,5804,829],{"class":739},[714,5806,5463],{"class":727},[714,5808,1234],{"class":731},[5810,5811,5812,5815,5818],"landing-faq",{},[539,5813,5814],{"v-slot:headline":541},"FAQ",[539,5816,5817],{"v-slot:title":541},"Before you install",[539,5819,5820],{"v-slot:body":541},[5821,5822,5824,5862,5872,5879,5896,5922],"accordion",{"type":5823},"single",[5825,5826,5828,5829,5832,5833,5837,5838,5841,5842,5845,5846,5849,5850,5854,5855,5858,5859,829],"accordion-item",{"label":5827},"I already use pino. What actually changes?","How much you can learn from one request. pino writes a line per call, so an error reaches you as an orphan line and you rejoin the rest by request id at query time. evlog accumulates context with ",[711,5830,5831],{},"log.set()"," as the request runs and emits ",[5834,5835,5836],"strong",{},"one event when it ends",", carrying the user, the route, the flags, the outcome, and the error together. Same for the error itself: ",[711,5839,5840],{},"createError()"," attaches a ",[711,5843,5844],{},"why"," and a ",[711,5847,5848],{},"fix",", and a ",[5851,5852,5853],"a",{"href":74},"catalog"," gives recurring failures a stable code. The API mirrors ",[711,5856,5857],{},"console",", so the migration is mechanical. See ",[5851,5860,5861],{"href":518},"how evlog compares",[5825,5863,5865,5866,5869,5870,829],{"label":5864},"My app is already in production. Is it too late?","No, and you do not have to guess where to start. ",[711,5867,5868],{},"evlog map"," reads your source and scores every entry point on the context it will hand you when it breaks, then names the ones to fix first. It needs no traffic, no agent, and no deploy, so you get that list before the next incident instead of during it. Day one or year three, the work is the same list. See ",[5851,5871,5868],{"href":92},[5825,5873,5875,5876,829],{"label":5874},"Do I have to change where my logs go?","No, and you keep the platform you already pay for. evlog produces the events, a drain ships them: Axiom, Datadog, Sentry, Better Stack, PostHog, Loki, ClickHouse, OTLP, or the filesystem. Changing provider is a drain swap, not an architecture change, because your handlers never name a destination. If you are building the platform rather than buying one, that same pipeline is where you plug in. See ",[5851,5877,5878],{"href":138},"drain adapters",[5825,5880,5882,5883,5886,5887,5889,5890,5893,5894,829],{"label":5881},"Will it cost me more to ship these logs?","It usually costs less. One request leaves one event instead of four lines, which measures ",[5834,5884,5885],{},"56% fewer bytes and 75% fewer events"," on the checkout shape in ",[5851,5888,370],{"href":505},", because the level, timestamp, host and request bindings stop repeating on every line. Which of those two numbers moves your bill depends on your provider: most charge per GB ingested, so you save on bytes, while a provider that also bills per million events indexed rewards the event count instead. Then ",[5851,5891,5892],{"href":60},"sampling"," drops what you were never going to read and force-keeps errors and slow requests. Price it against your own traffic on ",[5851,5895,526],{"href":527},[5825,5897,5899,5900,5903,5904,5907,5908,5910,5911,5913,5914,5845,5916,5918,5919,829],{"label":5898},"How much work is it to adopt?","You migrate one handler at a time. ",[711,5901,5902],{},"log.info()"," behaves like ",[711,5905,5906],{},"console.log",", so nothing breaks on the first commit. Two calls are worth learning: ",[711,5909,5831],{},", which adds context to the event in flight, and ",[711,5912,5840],{},", which attaches a ",[711,5915,5844],{},[711,5917,5848],{}," to an error instead of a bare stack. See the ",[5851,5920,5921],{"href":25},"quick start",[5825,5923,5925,5926,5929,5930,5933,5934,5936],{"label":5924},"What does it cost at runtime?","About ",[5834,5927,5928],{},"3µs per request",", ~6.3 kB gzip, and ",[5834,5931,5932],{},"zero runtime dependencies",", so there is no tree to audit before you can log. It runs on Node, Bun, Deno, and edge runtimes including Cloudflare Workers. In the wide event pattern it is 7.7x faster than pino, because pino serializes four lines where evlog serializes one. On fire-and-forget paths with no context to accumulate the gap closes, and ",[5851,5935,370],{"href":505}," names where evlog loses.",[5938,5939,5940],"landing-cta",{},[539,5941,5942],{"v-slot:description":541},"One logger for every context. Set it up in 10 minutes. Your future self will thank you.",[5944,5945,5946],"style",{},"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":541,"searchDepth":756,"depth":756,"links":5948},[],"A modern TypeScript logger built for everything you ship — scripts, libraries, jobs, edge, requests. Simple logs, wide events, and structured errors in one API.","md",null,{},"\u002Flanding",{"title":531,"description":5949},"0.landing","RHM86ejAQKB447b9j9vX58g3aJKCAfC0iKPAVN1U-f8",1786794200164]