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