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