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