[{"data":1,"prerenderedAt":3091},["ShallowReactive",2],{"navigation_docs":3,"-integrate-frameworks-cloudflare-workers":515,"-integrate-frameworks-cloudflare-workers-surround":3086},[4,30,80,123,298,430,485],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"children":127,"page":29},"Integrate","\u002Fintegrate","4.integrate",[128,132,210],{"title":36,"path":129,"stem":130,"icon":131},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":133,"path":134,"stem":135,"children":136,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[137,140,180,190],{"title":36,"path":138,"stem":139,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":141,"path":142,"stem":143,"children":144,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[145,150,155,160,165,170,175],{"title":146,"path":147,"stem":148,"icon":149},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":151,"path":152,"stem":153,"icon":154},"OTLP","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fotlp","4.integrate\u002Fadapters\u002Fcloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":156,"path":157,"stem":158,"icon":159},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F03.posthog","i-simple-icons-posthog",{"title":161,"path":162,"stem":163,"icon":164},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F04.sentry","i-simple-icons-sentry",{"title":166,"path":167,"stem":168,"icon":169},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":171,"path":172,"stem":173,"icon":174},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F06.datadog","i-simple-icons-datadog",{"title":176,"path":177,"stem":178,"icon":179},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fhyperdx","4.integrate\u002Fadapters\u002Fcloud\u002F07.hyperdx","i-custom-hyperdx",{"title":181,"path":182,"stem":183,"children":184,"page":29},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[185],{"title":186,"path":187,"stem":188,"icon":189},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":191,"path":192,"stem":193,"children":194,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[195,200,205],{"title":196,"path":197,"stem":198,"icon":199},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":201,"path":202,"stem":203,"icon":204},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":206,"path":207,"stem":208,"icon":209},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":211,"path":212,"stem":213,"children":214,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[215,219,224,229,234,239,244,249,254,259,264,269,274,279,283,288,293],{"title":36,"path":216,"stem":217,"icon":218},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":220,"path":221,"stem":222,"icon":223},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":225,"path":226,"stem":227,"icon":228},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":230,"path":231,"stem":232,"icon":233},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":235,"path":236,"stem":237,"icon":238},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":240,"path":241,"stem":242,"icon":243},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":245,"path":246,"stem":247,"icon":248},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":250,"path":251,"stem":252,"icon":253},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":255,"path":256,"stem":257,"icon":258},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":260,"path":261,"stem":262,"icon":263},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":265,"path":266,"stem":267,"icon":268},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":270,"path":271,"stem":272,"icon":273},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":275,"path":276,"stem":277,"icon":278},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":280,"path":281,"stem":282,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":284,"path":285,"stem":286,"icon":287},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":289,"path":290,"stem":291,"icon":292},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":294,"path":295,"stem":296,"icon":297},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":299,"path":300,"stem":301,"children":302,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[303,306,311,340,367,399,420,425],{"title":36,"path":304,"stem":305,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":307,"path":308,"stem":309,"icon":310},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":312,"icon":313,"path":314,"stem":315,"children":316,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[317,320,325,330,335],{"title":36,"path":318,"stem":319,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":321,"path":322,"stem":323,"icon":324},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":326,"path":327,"stem":328,"icon":329},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":331,"path":332,"stem":333,"icon":334},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":336,"path":337,"stem":338,"icon":339},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":341,"icon":342,"path":343,"stem":344,"children":345,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[346,349,354,359,363],{"title":36,"path":347,"stem":348,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":350,"path":351,"stem":352,"icon":353},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":355,"path":356,"stem":357,"icon":358},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":360,"path":361,"stem":362,"icon":310},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":364,"path":365,"stem":366,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":368,"icon":369,"path":370,"stem":371,"children":372,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[373,376,381,386,391,395],{"title":36,"path":374,"stem":375,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":377,"path":378,"stem":379,"icon":380},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":382,"path":383,"stem":384,"icon":385},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":387,"path":388,"stem":389,"icon":390},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":392,"path":393,"stem":394,"icon":369},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":396,"path":397,"stem":398,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":336,"icon":107,"path":400,"stem":401,"children":402,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[403,406,411,416],{"title":36,"path":404,"stem":405,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":407,"path":408,"stem":409,"icon":410},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":412,"path":413,"stem":414,"icon":415},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":417,"path":418,"stem":419,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":421,"path":422,"stem":423,"icon":424},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":426,"path":427,"stem":428,"icon":429},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":431,"path":432,"stem":433,"children":434,"page":29},"Extend","\u002Fextend","6.extend",[435,439,444,449,454,458,462,466,470,475,480],{"title":36,"path":436,"stem":437,"icon":438},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":440,"path":441,"stem":442,"icon":443},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":445,"path":446,"stem":447,"icon":448},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":450,"path":451,"stem":452,"icon":453},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":396,"path":455,"stem":456,"icon":457},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":459,"path":460,"stem":461,"icon":438},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":463,"path":464,"stem":465,"icon":424},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":467,"path":468,"stem":469,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":471,"path":472,"stem":473,"icon":474},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":476,"path":477,"stem":478,"icon":479},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":481,"path":482,"stem":483,"icon":484},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":417,"path":486,"stem":487,"children":488,"page":29},"\u002Freference","7.reference",[489,494,497,502,506,511],{"title":490,"path":491,"stem":492,"icon":493},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":364,"path":495,"stem":496,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":498,"path":499,"stem":500,"icon":501},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":503,"path":504,"stem":505,"icon":369},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":507,"path":508,"stem":509,"icon":510},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":512,"path":513,"stem":514,"icon":424},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"id":516,"title":275,"body":517,"description":3079,"extension":3080,"links":3081,"meta":3082,"navigation":3083,"path":276,"seo":3084,"stem":277,"__hash__":3085},"docs\u002F4.integrate\u002Fframeworks\u002F12.cloudflare-workers.md",{"type":518,"value":519,"toc":3064},"minimark",[520,529,547,594,598,603,674,678,918,941,972,975,980,1388,1392,1404,1572,1612,1615,1618,2043,2108,2112,2118,2657,2660,2671,2675,2681,2964,2971,2975,2978,3007,3011,3025,3029,3060],[521,522,523,524,528],"p",{},"The ",[525,526,527],"code",{},"evlog\u002Fworkers"," adapter instruments Cloudflare Workers and Durable Objects with request-scoped loggers carrying Cloudflare-specific context.",[521,530,531,532,538,539,542,543,546],{},"Use ",[533,534,535],"strong",{},[525,536,537],{},"withEvlog"," to get the same middleware pipeline as every other framework integration — route filtering, redaction, enrich, tail sampling, plugins, drains, and automatic emit. Reach for ",[525,540,541],{},"defineWorkerFetch"," or ",[525,544,545],{},"createWorkersLogger"," when you'd rather own the emit yourself.",[548,549,552,555,580],"prompt",{":actions":550,"description":551,"icon":278},"[\"copy\",\"cursor\",\"claude\"]","Set up evlog in my Cloudflare Worker",[521,553,554],{},"Set up evlog in my Cloudflare Worker.",[556,557,558,562,565,568,574,577],"ul",{},[559,560,561],"li",{},"Install evlog: pnpm add evlog",[559,563,564],{},"Import initWorkersLogger and withEvlog from 'evlog\u002Fworkers'",[559,566,567],{},"Call initWorkersLogger({ env: { service: 'my-worker' } }) at the top level",[559,569,570,571,573],{},"Wrap the fetch handler with ",[533,572,537],{}," (recommended) — it emits the wide event for you and accepts include\u002Fexclude, routes, redact, enrich, keep, plugins and drain",[559,575,576],{},"Use log.set() to accumulate context throughout the request",[559,578,579],{},"Only use defineWorkerFetch or createWorkersLogger if you want to call log.emit() yourself",[521,581,582,583,589,590],{},"Docs: ",[584,585,586],"a",{"href":586,"rel":587},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers",[588],"nofollow","\nAdapters: ",[584,591,592],{"href":592,"rel":593},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Foverview",[588],[595,596,25],"h2",{"id":597},"quick-start",[599,600,602],"h3",{"id":601},"_1-install","1. Install",[604,605,606,631,645,659],"code-group",{},[607,608,614],"pre",{"className":609,"code":610,"filename":611,"language":612,"meta":613,"style":613},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog\n","pnpm","bash","",[525,615,616],{"__ignoreMap":613},[617,618,621,624,628],"span",{"class":619,"line":620},"line",1,[617,622,611],{"class":623},"sBMFI",[617,625,627],{"class":626},"sfazB"," add",[617,629,630],{"class":626}," evlog\n",[607,632,635],{"className":609,"code":633,"filename":634,"language":612,"meta":613,"style":613},"bun add evlog\n","bun",[525,636,637],{"__ignoreMap":613},[617,638,639,641,643],{"class":619,"line":620},[617,640,634],{"class":623},[617,642,627],{"class":626},[617,644,630],{"class":626},[607,646,649],{"className":609,"code":647,"filename":648,"language":612,"meta":613,"style":613},"yarn add evlog\n","yarn",[525,650,651],{"__ignoreMap":613},[617,652,653,655,657],{"class":619,"line":620},[617,654,648],{"class":623},[617,656,627],{"class":626},[617,658,630],{"class":626},[607,660,663],{"className":609,"code":661,"filename":662,"language":612,"meta":613,"style":613},"npm install evlog\n","npm",[525,664,665],{"__ignoreMap":613},[617,666,667,669,672],{"class":619,"line":620},[617,668,662],{"class":623},[617,670,671],{"class":626}," install",[617,673,630],{"class":626},[599,675,677],{"id":676},"_2-wrap-your-fetch-handler","2. Wrap your fetch handler",[607,679,684],{"className":680,"code":681,"filename":682,"language":683,"meta":613,"style":613},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { initWorkersLogger, withEvlog } from 'evlog\u002Fworkers'\n\ninitWorkersLogger({\n  env: { service: 'my-worker' },\n})\n\nexport default withEvlog(async (request, _env, _ctx, log) => {\n  log.set({ action: 'handle_request' })\n\n  \u002F\u002F ... your handler logic\n\n  return Response.json({ ok: true })\n})\n","src\u002Fworker.ts","typescript",[525,685,686,720,727,740,768,777,782,830,863,868,875,880,911],{"__ignoreMap":613},[617,687,688,692,696,700,703,706,709,712,715,717],{"class":619,"line":620},[617,689,691],{"class":690},"s7zQu","import",[617,693,695],{"class":694},"sMK4o"," {",[617,697,699],{"class":698},"sTEyZ"," initWorkersLogger",[617,701,702],{"class":694},",",[617,704,705],{"class":698}," withEvlog",[617,707,708],{"class":694}," }",[617,710,711],{"class":690}," from",[617,713,714],{"class":694}," '",[617,716,527],{"class":626},[617,718,719],{"class":694},"'\n",[617,721,723],{"class":619,"line":722},2,[617,724,726],{"emptyLinePlaceholder":725},true,"\n",[617,728,730,734,737],{"class":619,"line":729},3,[617,731,733],{"class":732},"s2Zo4","initWorkersLogger",[617,735,736],{"class":698},"(",[617,738,739],{"class":694},"{\n",[617,741,743,747,750,752,755,757,759,762,765],{"class":619,"line":742},4,[617,744,746],{"class":745},"swJcz","  env",[617,748,749],{"class":694},":",[617,751,695],{"class":694},[617,753,754],{"class":745}," service",[617,756,749],{"class":694},[617,758,714],{"class":694},[617,760,761],{"class":626},"my-worker",[617,763,764],{"class":694},"'",[617,766,767],{"class":694}," },\n",[617,769,771,774],{"class":619,"line":770},5,[617,772,773],{"class":694},"}",[617,775,776],{"class":698},")\n",[617,778,780],{"class":619,"line":779},6,[617,781,726],{"emptyLinePlaceholder":725},[617,783,785,788,791,793,795,799,802,806,808,811,813,816,818,821,824,827],{"class":619,"line":784},7,[617,786,787],{"class":690},"export",[617,789,790],{"class":690}," default",[617,792,705],{"class":732},[617,794,736],{"class":698},[617,796,798],{"class":797},"spNyl","async",[617,800,801],{"class":694}," (",[617,803,805],{"class":804},"sHdIc","request",[617,807,702],{"class":694},[617,809,810],{"class":804}," _env",[617,812,702],{"class":694},[617,814,815],{"class":804}," _ctx",[617,817,702],{"class":694},[617,819,820],{"class":804}," log",[617,822,823],{"class":694},")",[617,825,826],{"class":797}," =>",[617,828,829],{"class":694}," {\n",[617,831,833,836,839,842,844,847,850,852,854,857,859,861],{"class":619,"line":832},8,[617,834,835],{"class":698},"  log",[617,837,838],{"class":694},".",[617,840,841],{"class":732},"set",[617,843,736],{"class":745},[617,845,846],{"class":694},"{",[617,848,849],{"class":745}," action",[617,851,749],{"class":694},[617,853,714],{"class":694},[617,855,856],{"class":626},"handle_request",[617,858,764],{"class":694},[617,860,708],{"class":694},[617,862,776],{"class":745},[617,864,866],{"class":619,"line":865},9,[617,867,726],{"emptyLinePlaceholder":725},[617,869,871],{"class":619,"line":870},10,[617,872,874],{"class":873},"sHwdD","  \u002F\u002F ... your handler logic\n",[617,876,878],{"class":619,"line":877},11,[617,879,726],{"emptyLinePlaceholder":725},[617,881,883,886,889,891,894,896,898,901,903,907,909],{"class":619,"line":882},12,[617,884,885],{"class":690},"  return",[617,887,888],{"class":698}," Response",[617,890,838],{"class":694},[617,892,893],{"class":732},"json",[617,895,736],{"class":745},[617,897,846],{"class":694},[617,899,900],{"class":745}," ok",[617,902,749],{"class":694},[617,904,906],{"class":905},"sfNiH"," true",[617,908,708],{"class":694},[617,910,776],{"class":745},[617,912,914,916],{"class":619,"line":913},13,[617,915,773],{"class":694},[617,917,776],{"class":698},[521,919,920,922,923,926,927,930,931,936,937,940],{},[525,921,537],{}," emits one wide event per request when the handler returns — no manual ",[525,924,925],{},"log.emit()",". It reads ",[525,928,929],{},"ExecutionContext"," off the third argument, so async ",[533,932,933],{},[525,934,935],{},"drain"," calls (PostHog, Axiom, …) are registered with ",[525,938,939],{},"waitUntil"," and stay alive after the response is returned. Streaming responses defer the emit until the body completes.",[521,942,943,946,947,950,951,954,955,958,959,958,962,958,964,967,968,971],{},[525,944,945],{},"requestId"," comes from ",[525,948,949],{},"x-request-id"," when the caller sends one, falling back to ",[525,952,953],{},"cf-ray",". ",[525,956,957],{},"method",", ",[525,960,961],{},"path",[525,963,953],{},[525,965,966],{},"traceparent"," and the safe subset of ",[525,969,970],{},"request.cf"," are captured automatically.",[599,973,326],{"id":974},"options",[521,976,977,979],{},[525,978,537],{}," accepts the same options as every other framework integration:",[607,981,983],{"className":680,"code":982,"filename":682,"language":683,"meta":613,"style":613},"import { initWorkersLogger, withEvlog } from 'evlog\u002Fworkers'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitWorkersLogger({ env: { service: 'my-worker' } })\n\nexport default withEvlog(\n  async (request, env, ctx, log) => {\n    log.set({ route: 'checkout' })\n    return Response.json({ ok: true })\n  },\n  {\n    drain: createAxiomDrain(),\n    exclude: ['\u002Fhealth'],\n    routes: { '\u002Fapi\u002F**': { service: 'api' } },\n    redact: true,\n    enrich: (ctx) => {\n      ctx.event.colo = ctx.event.colo ?? 'unknown'\n    },\n    keep: (ctx) => {\n      if (ctx.duration > 1000) ctx.shouldKeep = true\n    },\n  },\n)\n",[525,984,985,1007,1027,1031,1062,1066,1077,1105,1134,1159,1164,1169,1184,1206,1242,1254,1273,1312,1318,1336,1373,1378,1383],{"__ignoreMap":613},[617,986,987,989,991,993,995,997,999,1001,1003,1005],{"class":619,"line":620},[617,988,691],{"class":690},[617,990,695],{"class":694},[617,992,699],{"class":698},[617,994,702],{"class":694},[617,996,705],{"class":698},[617,998,708],{"class":694},[617,1000,711],{"class":690},[617,1002,714],{"class":694},[617,1004,527],{"class":626},[617,1006,719],{"class":694},[617,1008,1009,1011,1013,1016,1018,1020,1022,1025],{"class":619,"line":722},[617,1010,691],{"class":690},[617,1012,695],{"class":694},[617,1014,1015],{"class":698}," createAxiomDrain",[617,1017,708],{"class":694},[617,1019,711],{"class":690},[617,1021,714],{"class":694},[617,1023,1024],{"class":626},"evlog\u002Faxiom",[617,1026,719],{"class":694},[617,1028,1029],{"class":619,"line":729},[617,1030,726],{"emptyLinePlaceholder":725},[617,1032,1033,1035,1037,1039,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060],{"class":619,"line":742},[617,1034,733],{"class":732},[617,1036,736],{"class":698},[617,1038,846],{"class":694},[617,1040,1041],{"class":745}," env",[617,1043,749],{"class":694},[617,1045,695],{"class":694},[617,1047,754],{"class":745},[617,1049,749],{"class":694},[617,1051,714],{"class":694},[617,1053,761],{"class":626},[617,1055,764],{"class":694},[617,1057,708],{"class":694},[617,1059,708],{"class":694},[617,1061,776],{"class":698},[617,1063,1064],{"class":619,"line":770},[617,1065,726],{"emptyLinePlaceholder":725},[617,1067,1068,1070,1072,1074],{"class":619,"line":779},[617,1069,787],{"class":690},[617,1071,790],{"class":690},[617,1073,705],{"class":732},[617,1075,1076],{"class":698},"(\n",[617,1078,1079,1082,1084,1086,1088,1090,1092,1095,1097,1099,1101,1103],{"class":619,"line":784},[617,1080,1081],{"class":797},"  async",[617,1083,801],{"class":694},[617,1085,805],{"class":804},[617,1087,702],{"class":694},[617,1089,1041],{"class":804},[617,1091,702],{"class":694},[617,1093,1094],{"class":804}," ctx",[617,1096,702],{"class":694},[617,1098,820],{"class":804},[617,1100,823],{"class":694},[617,1102,826],{"class":797},[617,1104,829],{"class":694},[617,1106,1107,1110,1112,1114,1116,1118,1121,1123,1125,1128,1130,1132],{"class":619,"line":832},[617,1108,1109],{"class":698},"    log",[617,1111,838],{"class":694},[617,1113,841],{"class":732},[617,1115,736],{"class":745},[617,1117,846],{"class":694},[617,1119,1120],{"class":745}," route",[617,1122,749],{"class":694},[617,1124,714],{"class":694},[617,1126,1127],{"class":626},"checkout",[617,1129,764],{"class":694},[617,1131,708],{"class":694},[617,1133,776],{"class":745},[617,1135,1136,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157],{"class":619,"line":865},[617,1137,1138],{"class":690},"    return",[617,1140,888],{"class":698},[617,1142,838],{"class":694},[617,1144,893],{"class":732},[617,1146,736],{"class":745},[617,1148,846],{"class":694},[617,1150,900],{"class":745},[617,1152,749],{"class":694},[617,1154,906],{"class":905},[617,1156,708],{"class":694},[617,1158,776],{"class":745},[617,1160,1161],{"class":619,"line":870},[617,1162,1163],{"class":694},"  },\n",[617,1165,1166],{"class":619,"line":877},[617,1167,1168],{"class":694},"  {\n",[617,1170,1171,1174,1176,1178,1181],{"class":619,"line":882},[617,1172,1173],{"class":745},"    drain",[617,1175,749],{"class":694},[617,1177,1015],{"class":732},[617,1179,1180],{"class":698},"()",[617,1182,1183],{"class":694},",\n",[617,1185,1186,1189,1191,1194,1196,1199,1201,1204],{"class":619,"line":913},[617,1187,1188],{"class":745},"    exclude",[617,1190,749],{"class":694},[617,1192,1193],{"class":698}," [",[617,1195,764],{"class":694},[617,1197,1198],{"class":626},"\u002Fhealth",[617,1200,764],{"class":694},[617,1202,1203],{"class":698},"]",[617,1205,1183],{"class":694},[617,1207,1209,1212,1214,1216,1218,1221,1223,1225,1227,1229,1231,1233,1236,1238,1240],{"class":619,"line":1208},14,[617,1210,1211],{"class":745},"    routes",[617,1213,749],{"class":694},[617,1215,695],{"class":694},[617,1217,714],{"class":694},[617,1219,1220],{"class":745},"\u002Fapi\u002F**",[617,1222,764],{"class":694},[617,1224,749],{"class":694},[617,1226,695],{"class":694},[617,1228,754],{"class":745},[617,1230,749],{"class":694},[617,1232,714],{"class":694},[617,1234,1235],{"class":626},"api",[617,1237,764],{"class":694},[617,1239,708],{"class":694},[617,1241,767],{"class":694},[617,1243,1245,1248,1250,1252],{"class":619,"line":1244},15,[617,1246,1247],{"class":745},"    redact",[617,1249,749],{"class":694},[617,1251,906],{"class":905},[617,1253,1183],{"class":694},[617,1255,1257,1260,1262,1264,1267,1269,1271],{"class":619,"line":1256},16,[617,1258,1259],{"class":732},"    enrich",[617,1261,749],{"class":694},[617,1263,801],{"class":694},[617,1265,1266],{"class":804},"ctx",[617,1268,823],{"class":694},[617,1270,826],{"class":797},[617,1272,829],{"class":694},[617,1274,1276,1279,1281,1284,1286,1289,1292,1294,1296,1298,1300,1302,1305,1307,1310],{"class":619,"line":1275},17,[617,1277,1278],{"class":698},"      ctx",[617,1280,838],{"class":694},[617,1282,1283],{"class":698},"event",[617,1285,838],{"class":694},[617,1287,1288],{"class":698},"colo",[617,1290,1291],{"class":694}," =",[617,1293,1094],{"class":698},[617,1295,838],{"class":694},[617,1297,1283],{"class":698},[617,1299,838],{"class":694},[617,1301,1288],{"class":698},[617,1303,1304],{"class":694}," ??",[617,1306,714],{"class":694},[617,1308,1309],{"class":626},"unknown",[617,1311,719],{"class":694},[617,1313,1315],{"class":619,"line":1314},18,[617,1316,1317],{"class":694},"    },\n",[617,1319,1321,1324,1326,1328,1330,1332,1334],{"class":619,"line":1320},19,[617,1322,1323],{"class":732},"    keep",[617,1325,749],{"class":694},[617,1327,801],{"class":694},[617,1329,1266],{"class":804},[617,1331,823],{"class":694},[617,1333,826],{"class":797},[617,1335,829],{"class":694},[617,1337,1339,1342,1344,1346,1348,1351,1354,1358,1361,1363,1365,1368,1370],{"class":619,"line":1338},20,[617,1340,1341],{"class":690},"      if",[617,1343,801],{"class":745},[617,1345,1266],{"class":698},[617,1347,838],{"class":694},[617,1349,1350],{"class":698},"duration",[617,1352,1353],{"class":694}," >",[617,1355,1357],{"class":1356},"sbssI"," 1000",[617,1359,1360],{"class":745},") ",[617,1362,1266],{"class":698},[617,1364,838],{"class":694},[617,1366,1367],{"class":698},"shouldKeep",[617,1369,1291],{"class":694},[617,1371,1372],{"class":905}," true\n",[617,1374,1376],{"class":619,"line":1375},21,[617,1377,1317],{"class":694},[617,1379,1381],{"class":619,"line":1380},22,[617,1382,1163],{"class":694},[617,1384,1386],{"class":619,"line":1385},23,[617,1387,776],{"class":698},[599,1389,1391],{"id":1390},"emitting-manually","Emitting manually",[521,1393,1394,1395,1397,1398,1400,1401,1403],{},"Prefer to own the emit? ",[525,1396,541],{}," wires ",[525,1399,929],{}," for you but leaves ",[525,1402,925],{}," to you:",[607,1405,1407],{"className":680,"code":1406,"filename":682,"language":683,"meta":613,"style":613},"import { defineWorkerFetch, initWorkersLogger } from 'evlog\u002Fworkers'\n\ninitWorkersLogger({ env: { service: 'my-worker' } })\n\nexport default defineWorkerFetch(async (request, _env, _ctx, log) => {\n  log.set({ action: 'handle_request' })\n  log.emit()\n  return Response.json({ ok: true })\n})\n",[525,1408,1409,1432,1436,1466,1470,1504,1530,1542,1566],{"__ignoreMap":613},[617,1410,1411,1413,1415,1418,1420,1422,1424,1426,1428,1430],{"class":619,"line":620},[617,1412,691],{"class":690},[617,1414,695],{"class":694},[617,1416,1417],{"class":698}," defineWorkerFetch",[617,1419,702],{"class":694},[617,1421,699],{"class":698},[617,1423,708],{"class":694},[617,1425,711],{"class":690},[617,1427,714],{"class":694},[617,1429,527],{"class":626},[617,1431,719],{"class":694},[617,1433,1434],{"class":619,"line":722},[617,1435,726],{"emptyLinePlaceholder":725},[617,1437,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464],{"class":619,"line":729},[617,1439,733],{"class":732},[617,1441,736],{"class":698},[617,1443,846],{"class":694},[617,1445,1041],{"class":745},[617,1447,749],{"class":694},[617,1449,695],{"class":694},[617,1451,754],{"class":745},[617,1453,749],{"class":694},[617,1455,714],{"class":694},[617,1457,761],{"class":626},[617,1459,764],{"class":694},[617,1461,708],{"class":694},[617,1463,708],{"class":694},[617,1465,776],{"class":698},[617,1467,1468],{"class":619,"line":742},[617,1469,726],{"emptyLinePlaceholder":725},[617,1471,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502],{"class":619,"line":770},[617,1473,787],{"class":690},[617,1475,790],{"class":690},[617,1477,1417],{"class":732},[617,1479,736],{"class":698},[617,1481,798],{"class":797},[617,1483,801],{"class":694},[617,1485,805],{"class":804},[617,1487,702],{"class":694},[617,1489,810],{"class":804},[617,1491,702],{"class":694},[617,1493,815],{"class":804},[617,1495,702],{"class":694},[617,1497,820],{"class":804},[617,1499,823],{"class":694},[617,1501,826],{"class":797},[617,1503,829],{"class":694},[617,1505,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528],{"class":619,"line":779},[617,1507,835],{"class":698},[617,1509,838],{"class":694},[617,1511,841],{"class":732},[617,1513,736],{"class":745},[617,1515,846],{"class":694},[617,1517,849],{"class":745},[617,1519,749],{"class":694},[617,1521,714],{"class":694},[617,1523,856],{"class":626},[617,1525,764],{"class":694},[617,1527,708],{"class":694},[617,1529,776],{"class":745},[617,1531,1532,1534,1536,1539],{"class":619,"line":784},[617,1533,835],{"class":698},[617,1535,838],{"class":694},[617,1537,1538],{"class":732},"emit",[617,1540,1541],{"class":745},"()\n",[617,1543,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564],{"class":619,"line":832},[617,1545,885],{"class":690},[617,1547,888],{"class":698},[617,1549,838],{"class":694},[617,1551,893],{"class":732},[617,1553,736],{"class":745},[617,1555,846],{"class":694},[617,1557,900],{"class":745},[617,1559,749],{"class":694},[617,1561,906],{"class":905},[617,1563,708],{"class":694},[617,1565,776],{"class":745},[617,1567,1568,1570],{"class":619,"line":865},[617,1569,773],{"class":694},[617,1571,776],{"class":698},[1573,1574,1576,1578,1579,1581,1582,1585,1586,958,1589,958,1592,958,1595,958,1598,1578,1601,1604,1605,1608,1609,1611],"callout",{"color":1575,"icon":13},"info",[525,1577,541],{}," and ",[525,1580,545],{}," are the low-level path: they create the logger and leave the lifecycle to you, so ",[525,1583,1584],{},"include"," \u002F ",[525,1587,1588],{},"exclude",[525,1590,1591],{},"routes",[525,1593,1594],{},"redact",[525,1596,1597],{},"enrich",[525,1599,1600],{},"keep",[525,1602,1603],{},"plugins"," do ",[533,1606,1607],{},"not"," apply. Use ",[525,1610,537],{}," to get them.",[595,1613,46],{"id":1614},"wide-events",[521,1616,1617],{},"Build up context progressively, then emit at the end:",[607,1619,1621],{"className":680,"code":1620,"filename":682,"language":683,"meta":613,"style":613},"import { defineWorkerFetch, initWorkersLogger } from 'evlog\u002Fworkers'\n\ninitWorkersLogger({\n  env: { service: 'my-worker' },\n})\n\nexport default defineWorkerFetch(async (request, env, _ctx, log) => {\n  const url = new URL(request.url)\n\n  log.set({ route: url.pathname })\n\n  const user = await env.DB.prepare('SELECT * FROM users WHERE id = ?').bind(url.searchParams.get('userId')).first()\n  log.set({ user: { id: user.id, plan: user.plan } })\n\n  const orders = await env.DB.prepare('SELECT COUNT(*) as count FROM orders WHERE user_id = ?').bind(user.id).first()\n  log.set({ orders: { count: orders.count } })\n\n  log.emit()\n  return Response.json({ user, orders })\n})\n",[525,1622,1623,1645,1649,1657,1677,1683,1687,1721,1748,1752,1779,1783,1856,1906,1910,1963,1999,2003,2013,2037],{"__ignoreMap":613},[617,1624,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643],{"class":619,"line":620},[617,1626,691],{"class":690},[617,1628,695],{"class":694},[617,1630,1417],{"class":698},[617,1632,702],{"class":694},[617,1634,699],{"class":698},[617,1636,708],{"class":694},[617,1638,711],{"class":690},[617,1640,714],{"class":694},[617,1642,527],{"class":626},[617,1644,719],{"class":694},[617,1646,1647],{"class":619,"line":722},[617,1648,726],{"emptyLinePlaceholder":725},[617,1650,1651,1653,1655],{"class":619,"line":729},[617,1652,733],{"class":732},[617,1654,736],{"class":698},[617,1656,739],{"class":694},[617,1658,1659,1661,1663,1665,1667,1669,1671,1673,1675],{"class":619,"line":742},[617,1660,746],{"class":745},[617,1662,749],{"class":694},[617,1664,695],{"class":694},[617,1666,754],{"class":745},[617,1668,749],{"class":694},[617,1670,714],{"class":694},[617,1672,761],{"class":626},[617,1674,764],{"class":694},[617,1676,767],{"class":694},[617,1678,1679,1681],{"class":619,"line":770},[617,1680,773],{"class":694},[617,1682,776],{"class":698},[617,1684,1685],{"class":619,"line":779},[617,1686,726],{"emptyLinePlaceholder":725},[617,1688,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719],{"class":619,"line":784},[617,1690,787],{"class":690},[617,1692,790],{"class":690},[617,1694,1417],{"class":732},[617,1696,736],{"class":698},[617,1698,798],{"class":797},[617,1700,801],{"class":694},[617,1702,805],{"class":804},[617,1704,702],{"class":694},[617,1706,1041],{"class":804},[617,1708,702],{"class":694},[617,1710,815],{"class":804},[617,1712,702],{"class":694},[617,1714,820],{"class":804},[617,1716,823],{"class":694},[617,1718,826],{"class":797},[617,1720,829],{"class":694},[617,1722,1723,1726,1729,1731,1734,1737,1739,1741,1743,1746],{"class":619,"line":832},[617,1724,1725],{"class":797},"  const",[617,1727,1728],{"class":698}," url",[617,1730,1291],{"class":694},[617,1732,1733],{"class":694}," new",[617,1735,1736],{"class":732}," URL",[617,1738,736],{"class":745},[617,1740,805],{"class":698},[617,1742,838],{"class":694},[617,1744,1745],{"class":698},"url",[617,1747,776],{"class":745},[617,1749,1750],{"class":619,"line":865},[617,1751,726],{"emptyLinePlaceholder":725},[617,1753,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1775,1777],{"class":619,"line":870},[617,1755,835],{"class":698},[617,1757,838],{"class":694},[617,1759,841],{"class":732},[617,1761,736],{"class":745},[617,1763,846],{"class":694},[617,1765,1120],{"class":745},[617,1767,749],{"class":694},[617,1769,1728],{"class":698},[617,1771,838],{"class":694},[617,1773,1774],{"class":698},"pathname",[617,1776,708],{"class":694},[617,1778,776],{"class":745},[617,1780,1781],{"class":619,"line":877},[617,1782,726],{"emptyLinePlaceholder":725},[617,1784,1785,1787,1790,1792,1795,1797,1799,1802,1804,1807,1809,1811,1814,1816,1818,1820,1823,1825,1827,1829,1832,1834,1837,1839,1841,1844,1846,1849,1851,1854],{"class":619,"line":882},[617,1786,1725],{"class":797},[617,1788,1789],{"class":698}," user",[617,1791,1291],{"class":694},[617,1793,1794],{"class":690}," await",[617,1796,1041],{"class":698},[617,1798,838],{"class":694},[617,1800,1801],{"class":698},"DB",[617,1803,838],{"class":694},[617,1805,1806],{"class":732},"prepare",[617,1808,736],{"class":745},[617,1810,764],{"class":694},[617,1812,1813],{"class":626},"SELECT * FROM users WHERE id = ?",[617,1815,764],{"class":694},[617,1817,823],{"class":745},[617,1819,838],{"class":694},[617,1821,1822],{"class":732},"bind",[617,1824,736],{"class":745},[617,1826,1745],{"class":698},[617,1828,838],{"class":694},[617,1830,1831],{"class":698},"searchParams",[617,1833,838],{"class":694},[617,1835,1836],{"class":732},"get",[617,1838,736],{"class":745},[617,1840,764],{"class":694},[617,1842,1843],{"class":626},"userId",[617,1845,764],{"class":694},[617,1847,1848],{"class":745},"))",[617,1850,838],{"class":694},[617,1852,1853],{"class":732},"first",[617,1855,1541],{"class":745},[617,1857,1858,1860,1862,1864,1866,1868,1870,1872,1874,1877,1879,1881,1883,1886,1888,1891,1893,1895,1897,1900,1902,1904],{"class":619,"line":913},[617,1859,835],{"class":698},[617,1861,838],{"class":694},[617,1863,841],{"class":732},[617,1865,736],{"class":745},[617,1867,846],{"class":694},[617,1869,1789],{"class":745},[617,1871,749],{"class":694},[617,1873,695],{"class":694},[617,1875,1876],{"class":745}," id",[617,1878,749],{"class":694},[617,1880,1789],{"class":698},[617,1882,838],{"class":694},[617,1884,1885],{"class":698},"id",[617,1887,702],{"class":694},[617,1889,1890],{"class":745}," plan",[617,1892,749],{"class":694},[617,1894,1789],{"class":698},[617,1896,838],{"class":694},[617,1898,1899],{"class":698},"plan",[617,1901,708],{"class":694},[617,1903,708],{"class":694},[617,1905,776],{"class":745},[617,1907,1908],{"class":619,"line":1208},[617,1909,726],{"emptyLinePlaceholder":725},[617,1911,1912,1914,1917,1919,1921,1923,1925,1927,1929,1931,1933,1935,1938,1940,1942,1944,1946,1948,1951,1953,1955,1957,1959,1961],{"class":619,"line":1244},[617,1913,1725],{"class":797},[617,1915,1916],{"class":698}," orders",[617,1918,1291],{"class":694},[617,1920,1794],{"class":690},[617,1922,1041],{"class":698},[617,1924,838],{"class":694},[617,1926,1801],{"class":698},[617,1928,838],{"class":694},[617,1930,1806],{"class":732},[617,1932,736],{"class":745},[617,1934,764],{"class":694},[617,1936,1937],{"class":626},"SELECT COUNT(*) as count FROM orders WHERE user_id = ?",[617,1939,764],{"class":694},[617,1941,823],{"class":745},[617,1943,838],{"class":694},[617,1945,1822],{"class":732},[617,1947,736],{"class":745},[617,1949,1950],{"class":698},"user",[617,1952,838],{"class":694},[617,1954,1885],{"class":698},[617,1956,823],{"class":745},[617,1958,838],{"class":694},[617,1960,1853],{"class":732},[617,1962,1541],{"class":745},[617,1964,1965,1967,1969,1971,1973,1975,1977,1979,1981,1984,1986,1988,1990,1993,1995,1997],{"class":619,"line":1256},[617,1966,835],{"class":698},[617,1968,838],{"class":694},[617,1970,841],{"class":732},[617,1972,736],{"class":745},[617,1974,846],{"class":694},[617,1976,1916],{"class":745},[617,1978,749],{"class":694},[617,1980,695],{"class":694},[617,1982,1983],{"class":745}," count",[617,1985,749],{"class":694},[617,1987,1916],{"class":698},[617,1989,838],{"class":694},[617,1991,1992],{"class":698},"count",[617,1994,708],{"class":694},[617,1996,708],{"class":694},[617,1998,776],{"class":745},[617,2000,2001],{"class":619,"line":1275},[617,2002,726],{"emptyLinePlaceholder":725},[617,2004,2005,2007,2009,2011],{"class":619,"line":1314},[617,2006,835],{"class":698},[617,2008,838],{"class":694},[617,2010,1538],{"class":732},[617,2012,1541],{"class":745},[617,2014,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035],{"class":619,"line":1320},[617,2016,885],{"class":690},[617,2018,888],{"class":698},[617,2020,838],{"class":694},[617,2022,893],{"class":732},[617,2024,736],{"class":745},[617,2026,846],{"class":694},[617,2028,1789],{"class":698},[617,2030,702],{"class":694},[617,2032,1916],{"class":698},[617,2034,708],{"class":694},[617,2036,776],{"class":745},[617,2038,2039,2041],{"class":619,"line":1338},[617,2040,773],{"class":694},[617,2042,776],{"class":698},[607,2044,2047],{"className":609,"code":2045,"filename":2046,"language":612,"meta":613,"style":613},"14:58:15 INFO [my-worker] GET \u002Fapi\u002Fusers 200 in 12ms\n  ├─ orders: count=5\n  ├─ user: id=usr_123 plan=pro\n  ├─ route: \u002Fapi\u002Fusers\n  └─ requestId: 4a8ff3a8-...\n","Terminal output",[525,2048,2049,2060,2074,2087,2097],{"__ignoreMap":613},[617,2050,2051,2054,2057],{"class":619,"line":620},[617,2052,2053],{"class":623},"14:58:15",[617,2055,2056],{"class":626}," INFO",[617,2058,2059],{"class":698}," [my-worker] GET \u002Fapi\u002Fusers 200 in 12ms\n",[617,2061,2062,2065,2068,2071],{"class":619,"line":722},[617,2063,2064],{"class":623},"  ├─",[617,2066,2067],{"class":626}," orders:",[617,2069,2070],{"class":626}," count=",[617,2072,2073],{"class":1356},"5\n",[617,2075,2076,2078,2081,2084],{"class":619,"line":729},[617,2077,2064],{"class":623},[617,2079,2080],{"class":626}," user:",[617,2082,2083],{"class":626}," id=usr_123",[617,2085,2086],{"class":626}," plan=pro\n",[617,2088,2089,2091,2094],{"class":619,"line":742},[617,2090,2064],{"class":623},[617,2092,2093],{"class":626}," route:",[617,2095,2096],{"class":626}," \u002Fapi\u002Fusers\n",[617,2098,2099,2102,2105],{"class":619,"line":770},[617,2100,2101],{"class":623},"  └─",[617,2103,2104],{"class":626}," requestId:",[617,2106,2107],{"class":626}," 4a8ff3a8-...\n",[595,2109,2111],{"id":2110},"error-handling","Error Handling",[521,2113,531,2114,2117],{},[525,2115,2116],{},"createError"," for structured errors and handle them with try\u002Fcatch:",[2119,2120,2121],"code-collapse",{},[607,2122,2124],{"className":680,"code":2123,"filename":682,"language":683,"meta":613,"style":613},"import { createError, parseError } from 'evlog'\nimport { defineWorkerFetch, initWorkersLogger } from 'evlog\u002Fworkers'\n\ninitWorkersLogger({ env: { service: 'my-worker' } })\n\nexport default defineWorkerFetch(async (request, env, _ctx, log) => {\n  try {\n    const body = await request.json()\n    log.set({ payment: { amount: body.amount } })\n\n    if (body.amount \u003C= 0) {\n      throw createError({\n        status: 400,\n        message: 'Invalid payment amount',\n        why: 'The amount must be a positive number',\n        fix: 'Pass a positive integer in cents',\n      })\n    }\n\n    log.emit()\n    return Response.json({ success: true })\n  } catch (error) {\n    log.error(error instanceof Error ? error : new Error(String(error)))\n    log.emit()\n\n    const parsed = parseError(error)\n    return Response.json({\n      message: parsed.message,\n      why: parsed.why,\n      fix: parsed.fix,\n    }, { status: parsed.status })\n  }\n})\n",[525,2125,2126,2151,2173,2177,2207,2211,2245,2252,2273,2310,2314,2338,2349,2361,2377,2393,2409,2416,2421,2425,2435,2460,2477,2520,2531,2536,2554,2569,2586,2603,2620,2644,2650],{"__ignoreMap":613},[617,2127,2128,2130,2132,2135,2137,2140,2142,2144,2146,2149],{"class":619,"line":620},[617,2129,691],{"class":690},[617,2131,695],{"class":694},[617,2133,2134],{"class":698}," createError",[617,2136,702],{"class":694},[617,2138,2139],{"class":698}," parseError",[617,2141,708],{"class":694},[617,2143,711],{"class":690},[617,2145,714],{"class":694},[617,2147,2148],{"class":626},"evlog",[617,2150,719],{"class":694},[617,2152,2153,2155,2157,2159,2161,2163,2165,2167,2169,2171],{"class":619,"line":722},[617,2154,691],{"class":690},[617,2156,695],{"class":694},[617,2158,1417],{"class":698},[617,2160,702],{"class":694},[617,2162,699],{"class":698},[617,2164,708],{"class":694},[617,2166,711],{"class":690},[617,2168,714],{"class":694},[617,2170,527],{"class":626},[617,2172,719],{"class":694},[617,2174,2175],{"class":619,"line":729},[617,2176,726],{"emptyLinePlaceholder":725},[617,2178,2179,2181,2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203,2205],{"class":619,"line":742},[617,2180,733],{"class":732},[617,2182,736],{"class":698},[617,2184,846],{"class":694},[617,2186,1041],{"class":745},[617,2188,749],{"class":694},[617,2190,695],{"class":694},[617,2192,754],{"class":745},[617,2194,749],{"class":694},[617,2196,714],{"class":694},[617,2198,761],{"class":626},[617,2200,764],{"class":694},[617,2202,708],{"class":694},[617,2204,708],{"class":694},[617,2206,776],{"class":698},[617,2208,2209],{"class":619,"line":770},[617,2210,726],{"emptyLinePlaceholder":725},[617,2212,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243],{"class":619,"line":779},[617,2214,787],{"class":690},[617,2216,790],{"class":690},[617,2218,1417],{"class":732},[617,2220,736],{"class":698},[617,2222,798],{"class":797},[617,2224,801],{"class":694},[617,2226,805],{"class":804},[617,2228,702],{"class":694},[617,2230,1041],{"class":804},[617,2232,702],{"class":694},[617,2234,815],{"class":804},[617,2236,702],{"class":694},[617,2238,820],{"class":804},[617,2240,823],{"class":694},[617,2242,826],{"class":797},[617,2244,829],{"class":694},[617,2246,2247,2250],{"class":619,"line":784},[617,2248,2249],{"class":690},"  try",[617,2251,829],{"class":694},[617,2253,2254,2257,2260,2262,2264,2267,2269,2271],{"class":619,"line":832},[617,2255,2256],{"class":797},"    const",[617,2258,2259],{"class":698}," body",[617,2261,1291],{"class":694},[617,2263,1794],{"class":690},[617,2265,2266],{"class":698}," request",[617,2268,838],{"class":694},[617,2270,893],{"class":732},[617,2272,1541],{"class":745},[617,2274,2275,2277,2279,2281,2283,2285,2288,2290,2292,2295,2297,2299,2301,2304,2306,2308],{"class":619,"line":865},[617,2276,1109],{"class":698},[617,2278,838],{"class":694},[617,2280,841],{"class":732},[617,2282,736],{"class":745},[617,2284,846],{"class":694},[617,2286,2287],{"class":745}," payment",[617,2289,749],{"class":694},[617,2291,695],{"class":694},[617,2293,2294],{"class":745}," amount",[617,2296,749],{"class":694},[617,2298,2259],{"class":698},[617,2300,838],{"class":694},[617,2302,2303],{"class":698},"amount",[617,2305,708],{"class":694},[617,2307,708],{"class":694},[617,2309,776],{"class":745},[617,2311,2312],{"class":619,"line":870},[617,2313,726],{"emptyLinePlaceholder":725},[617,2315,2316,2319,2321,2324,2326,2328,2331,2334,2336],{"class":619,"line":877},[617,2317,2318],{"class":690},"    if",[617,2320,801],{"class":745},[617,2322,2323],{"class":698},"body",[617,2325,838],{"class":694},[617,2327,2303],{"class":698},[617,2329,2330],{"class":694}," \u003C=",[617,2332,2333],{"class":1356}," 0",[617,2335,1360],{"class":745},[617,2337,739],{"class":694},[617,2339,2340,2343,2345,2347],{"class":619,"line":882},[617,2341,2342],{"class":690},"      throw",[617,2344,2134],{"class":732},[617,2346,736],{"class":745},[617,2348,739],{"class":694},[617,2350,2351,2354,2356,2359],{"class":619,"line":913},[617,2352,2353],{"class":745},"        status",[617,2355,749],{"class":694},[617,2357,2358],{"class":1356}," 400",[617,2360,1183],{"class":694},[617,2362,2363,2366,2368,2370,2373,2375],{"class":619,"line":1208},[617,2364,2365],{"class":745},"        message",[617,2367,749],{"class":694},[617,2369,714],{"class":694},[617,2371,2372],{"class":626},"Invalid payment amount",[617,2374,764],{"class":694},[617,2376,1183],{"class":694},[617,2378,2379,2382,2384,2386,2389,2391],{"class":619,"line":1244},[617,2380,2381],{"class":745},"        why",[617,2383,749],{"class":694},[617,2385,714],{"class":694},[617,2387,2388],{"class":626},"The amount must be a positive number",[617,2390,764],{"class":694},[617,2392,1183],{"class":694},[617,2394,2395,2398,2400,2402,2405,2407],{"class":619,"line":1256},[617,2396,2397],{"class":745},"        fix",[617,2399,749],{"class":694},[617,2401,714],{"class":694},[617,2403,2404],{"class":626},"Pass a positive integer in cents",[617,2406,764],{"class":694},[617,2408,1183],{"class":694},[617,2410,2411,2414],{"class":619,"line":1275},[617,2412,2413],{"class":694},"      }",[617,2415,776],{"class":745},[617,2417,2418],{"class":619,"line":1314},[617,2419,2420],{"class":694},"    }\n",[617,2422,2423],{"class":619,"line":1320},[617,2424,726],{"emptyLinePlaceholder":725},[617,2426,2427,2429,2431,2433],{"class":619,"line":1338},[617,2428,1109],{"class":698},[617,2430,838],{"class":694},[617,2432,1538],{"class":732},[617,2434,1541],{"class":745},[617,2436,2437,2439,2441,2443,2445,2447,2449,2452,2454,2456,2458],{"class":619,"line":1375},[617,2438,1138],{"class":690},[617,2440,888],{"class":698},[617,2442,838],{"class":694},[617,2444,893],{"class":732},[617,2446,736],{"class":745},[617,2448,846],{"class":694},[617,2450,2451],{"class":745}," success",[617,2453,749],{"class":694},[617,2455,906],{"class":905},[617,2457,708],{"class":694},[617,2459,776],{"class":745},[617,2461,2462,2465,2468,2470,2473,2475],{"class":619,"line":1380},[617,2463,2464],{"class":694},"  }",[617,2466,2467],{"class":690}," catch",[617,2469,801],{"class":745},[617,2471,2472],{"class":698},"error",[617,2474,1360],{"class":745},[617,2476,739],{"class":694},[617,2478,2479,2481,2483,2485,2487,2489,2492,2495,2498,2501,2504,2506,2508,2510,2513,2515,2517],{"class":619,"line":1385},[617,2480,1109],{"class":698},[617,2482,838],{"class":694},[617,2484,2472],{"class":732},[617,2486,736],{"class":745},[617,2488,2472],{"class":698},[617,2490,2491],{"class":694}," instanceof",[617,2493,2494],{"class":623}," Error",[617,2496,2497],{"class":694}," ?",[617,2499,2500],{"class":698}," error",[617,2502,2503],{"class":694}," :",[617,2505,1733],{"class":694},[617,2507,2494],{"class":732},[617,2509,736],{"class":745},[617,2511,2512],{"class":732},"String",[617,2514,736],{"class":745},[617,2516,2472],{"class":698},[617,2518,2519],{"class":745},")))\n",[617,2521,2523,2525,2527,2529],{"class":619,"line":2522},24,[617,2524,1109],{"class":698},[617,2526,838],{"class":694},[617,2528,1538],{"class":732},[617,2530,1541],{"class":745},[617,2532,2534],{"class":619,"line":2533},25,[617,2535,726],{"emptyLinePlaceholder":725},[617,2537,2539,2541,2544,2546,2548,2550,2552],{"class":619,"line":2538},26,[617,2540,2256],{"class":797},[617,2542,2543],{"class":698}," parsed",[617,2545,1291],{"class":694},[617,2547,2139],{"class":732},[617,2549,736],{"class":745},[617,2551,2472],{"class":698},[617,2553,776],{"class":745},[617,2555,2557,2559,2561,2563,2565,2567],{"class":619,"line":2556},27,[617,2558,1138],{"class":690},[617,2560,888],{"class":698},[617,2562,838],{"class":694},[617,2564,893],{"class":732},[617,2566,736],{"class":745},[617,2568,739],{"class":694},[617,2570,2572,2575,2577,2579,2581,2584],{"class":619,"line":2571},28,[617,2573,2574],{"class":745},"      message",[617,2576,749],{"class":694},[617,2578,2543],{"class":698},[617,2580,838],{"class":694},[617,2582,2583],{"class":698},"message",[617,2585,1183],{"class":694},[617,2587,2589,2592,2594,2596,2598,2601],{"class":619,"line":2588},29,[617,2590,2591],{"class":745},"      why",[617,2593,749],{"class":694},[617,2595,2543],{"class":698},[617,2597,838],{"class":694},[617,2599,2600],{"class":698},"why",[617,2602,1183],{"class":694},[617,2604,2606,2609,2611,2613,2615,2618],{"class":619,"line":2605},30,[617,2607,2608],{"class":745},"      fix",[617,2610,749],{"class":694},[617,2612,2543],{"class":698},[617,2614,838],{"class":694},[617,2616,2617],{"class":698},"fix",[617,2619,1183],{"class":694},[617,2621,2623,2626,2628,2631,2633,2635,2637,2640,2642],{"class":619,"line":2622},31,[617,2624,2625],{"class":694},"    },",[617,2627,695],{"class":694},[617,2629,2630],{"class":745}," status",[617,2632,749],{"class":694},[617,2634,2543],{"class":698},[617,2636,838],{"class":694},[617,2638,2639],{"class":698},"status",[617,2641,708],{"class":694},[617,2643,776],{"class":745},[617,2645,2647],{"class":619,"line":2646},32,[617,2648,2649],{"class":694},"  }\n",[617,2651,2653,2655],{"class":619,"line":2652},33,[617,2654,773],{"class":694},[617,2656,776],{"class":698},[595,2658,490],{"id":2659},"configuration",[521,2661,2662,2663,2666,2667,2670],{},"See the ",[584,2664,2665],{"href":491},"Configuration reference"," for all available options (",[525,2668,2669],{},"initLogger",", middleware options, sampling, silent mode, etc.).",[595,2672,2674],{"id":2673},"drain-enrichers","Drain & Enrichers",[521,2676,2677,2678,2680],{},"Configure drain and enrichers via ",[525,2679,733],{}," options:",[607,2682,2684],{"className":680,"code":2683,"filename":682,"language":683,"meta":613,"style":613},"import { initWorkersLogger, createWorkersLogger } from 'evlog\u002Fworkers'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\nimport { createUserAgentEnricher } from 'evlog\u002Fenrichers'\nimport { createDrainPipeline } from 'evlog\u002Fpipeline'\nimport type { DrainContext } from 'evlog'\n\nconst pipeline = createDrainPipeline\u003CDrainContext>({\n  batch: { size: 50, intervalMs: 5000 },\n})\nconst drain = pipeline(createAxiomDrain())\nconst userAgent = createUserAgentEnricher()\n\ninitWorkersLogger({\n  env: { service: 'my-worker' },\n  drain,\n  enrich: (ctx) => {\n    userAgent(ctx)\n  },\n})\n",[525,2685,2686,2709,2727,2747,2767,2789,2793,2819,2848,2854,2874,2887,2891,2899,2919,2926,2943,2954,2958],{"__ignoreMap":613},[617,2687,2688,2690,2692,2694,2696,2699,2701,2703,2705,2707],{"class":619,"line":620},[617,2689,691],{"class":690},[617,2691,695],{"class":694},[617,2693,699],{"class":698},[617,2695,702],{"class":694},[617,2697,2698],{"class":698}," createWorkersLogger",[617,2700,708],{"class":694},[617,2702,711],{"class":690},[617,2704,714],{"class":694},[617,2706,527],{"class":626},[617,2708,719],{"class":694},[617,2710,2711,2713,2715,2717,2719,2721,2723,2725],{"class":619,"line":722},[617,2712,691],{"class":690},[617,2714,695],{"class":694},[617,2716,1015],{"class":698},[617,2718,708],{"class":694},[617,2720,711],{"class":690},[617,2722,714],{"class":694},[617,2724,1024],{"class":626},[617,2726,719],{"class":694},[617,2728,2729,2731,2733,2736,2738,2740,2742,2745],{"class":619,"line":729},[617,2730,691],{"class":690},[617,2732,695],{"class":694},[617,2734,2735],{"class":698}," createUserAgentEnricher",[617,2737,708],{"class":694},[617,2739,711],{"class":690},[617,2741,714],{"class":694},[617,2743,2744],{"class":626},"evlog\u002Fenrichers",[617,2746,719],{"class":694},[617,2748,2749,2751,2753,2756,2758,2760,2762,2765],{"class":619,"line":742},[617,2750,691],{"class":690},[617,2752,695],{"class":694},[617,2754,2755],{"class":698}," createDrainPipeline",[617,2757,708],{"class":694},[617,2759,711],{"class":690},[617,2761,714],{"class":694},[617,2763,2764],{"class":626},"evlog\u002Fpipeline",[617,2766,719],{"class":694},[617,2768,2769,2771,2774,2776,2779,2781,2783,2785,2787],{"class":619,"line":770},[617,2770,691],{"class":690},[617,2772,2773],{"class":690}," type",[617,2775,695],{"class":694},[617,2777,2778],{"class":698}," DrainContext",[617,2780,708],{"class":694},[617,2782,711],{"class":690},[617,2784,714],{"class":694},[617,2786,2148],{"class":626},[617,2788,719],{"class":694},[617,2790,2791],{"class":619,"line":779},[617,2792,726],{"emptyLinePlaceholder":725},[617,2794,2795,2798,2801,2804,2806,2809,2812,2815,2817],{"class":619,"line":784},[617,2796,2797],{"class":797},"const",[617,2799,2800],{"class":698}," pipeline ",[617,2802,2803],{"class":694},"=",[617,2805,2755],{"class":732},[617,2807,2808],{"class":694},"\u003C",[617,2810,2811],{"class":623},"DrainContext",[617,2813,2814],{"class":694},">",[617,2816,736],{"class":698},[617,2818,739],{"class":694},[617,2820,2821,2824,2826,2828,2831,2833,2836,2838,2841,2843,2846],{"class":619,"line":832},[617,2822,2823],{"class":745},"  batch",[617,2825,749],{"class":694},[617,2827,695],{"class":694},[617,2829,2830],{"class":745}," size",[617,2832,749],{"class":694},[617,2834,2835],{"class":1356}," 50",[617,2837,702],{"class":694},[617,2839,2840],{"class":745}," intervalMs",[617,2842,749],{"class":694},[617,2844,2845],{"class":1356}," 5000",[617,2847,767],{"class":694},[617,2849,2850,2852],{"class":619,"line":865},[617,2851,773],{"class":694},[617,2853,776],{"class":698},[617,2855,2856,2858,2861,2863,2866,2868,2871],{"class":619,"line":870},[617,2857,2797],{"class":797},[617,2859,2860],{"class":698}," drain ",[617,2862,2803],{"class":694},[617,2864,2865],{"class":732}," pipeline",[617,2867,736],{"class":698},[617,2869,2870],{"class":732},"createAxiomDrain",[617,2872,2873],{"class":698},"())\n",[617,2875,2876,2878,2881,2883,2885],{"class":619,"line":877},[617,2877,2797],{"class":797},[617,2879,2880],{"class":698}," userAgent ",[617,2882,2803],{"class":694},[617,2884,2735],{"class":732},[617,2886,1541],{"class":698},[617,2888,2889],{"class":619,"line":882},[617,2890,726],{"emptyLinePlaceholder":725},[617,2892,2893,2895,2897],{"class":619,"line":913},[617,2894,733],{"class":732},[617,2896,736],{"class":698},[617,2898,739],{"class":694},[617,2900,2901,2903,2905,2907,2909,2911,2913,2915,2917],{"class":619,"line":1208},[617,2902,746],{"class":745},[617,2904,749],{"class":694},[617,2906,695],{"class":694},[617,2908,754],{"class":745},[617,2910,749],{"class":694},[617,2912,714],{"class":694},[617,2914,761],{"class":626},[617,2916,764],{"class":694},[617,2918,767],{"class":694},[617,2920,2921,2924],{"class":619,"line":1244},[617,2922,2923],{"class":698},"  drain",[617,2925,1183],{"class":694},[617,2927,2928,2931,2933,2935,2937,2939,2941],{"class":619,"line":1256},[617,2929,2930],{"class":732},"  enrich",[617,2932,749],{"class":694},[617,2934,801],{"class":694},[617,2936,1266],{"class":804},[617,2938,823],{"class":694},[617,2940,826],{"class":797},[617,2942,829],{"class":694},[617,2944,2945,2948,2950,2952],{"class":619,"line":1275},[617,2946,2947],{"class":732},"    userAgent",[617,2949,736],{"class":745},[617,2951,1266],{"class":698},[617,2953,776],{"class":745},[617,2955,2956],{"class":619,"line":1314},[617,2957,1163],{"class":694},[617,2959,2960,2962],{"class":619,"line":1320},[617,2961,773],{"class":694},[617,2963,776],{"class":698},[1573,2965,2662,2966,1578,2968,2970],{"color":1575,"icon":13},[584,2967,133],{"href":138},[584,2969,421],{"href":422}," docs for all available drain adapters and enrichers.",[595,2972,2974],{"id":2973},"wrangler-configuration","Wrangler Configuration",[521,2976,2977],{},"Disable Cloudflare's default invocation logs to avoid duplicates when using evlog:",[607,2979,2984],{"className":2980,"code":2981,"filename":2982,"language":2983,"meta":613,"style":613},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[observability]\nenabled = false\n","wrangler.toml","toml",[525,2985,2986,2997],{"__ignoreMap":613},[617,2987,2988,2991,2994],{"class":619,"line":620},[617,2989,2990],{"class":694},"[",[617,2992,2993],{"class":623},"observability",[617,2995,2996],{"class":694},"]\n",[617,2998,2999,3002,3004],{"class":619,"line":722},[617,3000,3001],{"class":698},"enabled ",[617,3003,2803],{"class":694},[617,3005,3006],{"class":905}," false\n",[595,3008,3010],{"id":3009},"run-locally","Run Locally",[607,3012,3015],{"className":609,"code":3013,"filename":3014,"language":612,"meta":613,"style":613},"wrangler dev\n","Terminal",[525,3016,3017],{"__ignoreMap":613},[617,3018,3019,3022],{"class":619,"line":620},[617,3020,3021],{"class":623},"wrangler",[617,3023,3024],{"class":626}," dev\n",[595,3026,3028],{"id":3027},"next-steps","Next Steps",[556,3030,3031,3036,3041,3046],{},[559,3032,3033,3035],{},[584,3034,46],{"href":47},": Design comprehensive events with context layering",[559,3037,3038,3040],{},[584,3039,133],{"href":138},": Send logs to Axiom, Sentry, PostHog, and more",[559,3042,3043,3045],{},[584,3044,61],{"href":62},": Control log volume with head and tail sampling",[559,3047,3048,3050,3051,958,3053,3055,3056,3059],{},[584,3049,51],{"href":52},": Throw errors with ",[525,3052,2600],{},[525,3054,2617],{},", and ",[525,3057,3058],{},"link"," fields",[3061,3062,3063],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":613,"searchDepth":722,"depth":722,"links":3065},[3066,3072,3073,3074,3075,3076,3077,3078],{"id":597,"depth":722,"text":25,"children":3067},[3068,3069,3070,3071],{"id":601,"depth":729,"text":602},{"id":676,"depth":729,"text":677},{"id":974,"depth":729,"text":326},{"id":1390,"depth":729,"text":1391},{"id":1614,"depth":722,"text":46},{"id":2110,"depth":722,"text":2111},{"id":2659,"depth":722,"text":490},{"id":2673,"depth":722,"text":2674},{"id":2973,"depth":722,"text":2974},{"id":3009,"depth":722,"text":3010},{"id":3027,"depth":722,"text":3028},"Wide events, structured errors, and logging in Cloudflare Workers and Durable Objects.","md",null,{},{"title":275,"icon":278},{"title":275,"description":3079},"WhCm-42XY1PotR-dnN0wg3jxFa6xlaABM3gQdunmmwQ",[3087,3089],{"title":270,"path":271,"stem":272,"description":3088,"icon":273,"children":-1},"Automatic wide events, structured errors, drain adapters, enrichers, and tail sampling in React Router applications.",{"title":280,"path":281,"stem":282,"description":3090,"icon":74,"children":-1},"Use evlog in standalone TypeScript scripts, CLI tools, queues, cron jobs, and any TypeScript process.",1785610602768]