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