[{"data":1,"prerenderedAt":1970},["ShallowReactive",2],{"navigation_docs":3,"-frameworks-cloudflare-workers":228,"-frameworks-cloudflare-workers-surround":1965},[4,30,110,149,198,214],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Frameworks","\u002Fframeworks","2.frameworks",[35,40,45,50,55,60,65,70,75,80,85,90,95,100,105],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Fframeworks\u002Foverview","2.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":41,"path":42,"stem":43,"icon":44},"Nuxt","\u002Fframeworks\u002Fnuxt","2.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":46,"path":47,"stem":48,"icon":49},"Next.js","\u002Fframeworks\u002Fnextjs","2.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":51,"path":52,"stem":53,"icon":54},"SvelteKit","\u002Fframeworks\u002Fsveltekit","2.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":56,"path":57,"stem":58,"icon":59},"Nitro","\u002Fframeworks\u002Fnitro","2.frameworks\u002F04.nitro","i-custom-nitro",{"title":61,"path":62,"stem":63,"icon":64},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","2.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":66,"path":67,"stem":68,"icon":69},"NestJS","\u002Fframeworks\u002Fnestjs","2.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":71,"path":72,"stem":73,"icon":74},"Express","\u002Fframeworks\u002Fexpress","2.frameworks\u002F07.express","i-simple-icons-express",{"title":76,"path":77,"stem":78,"icon":79},"Hono","\u002Fframeworks\u002Fhono","2.frameworks\u002F08.hono","i-simple-icons-hono",{"title":81,"path":82,"stem":83,"icon":84},"Fastify","\u002Fframeworks\u002Ffastify","2.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":86,"path":87,"stem":88,"icon":89},"Elysia","\u002Fframeworks\u002Felysia","2.frameworks\u002F10.elysia","i-custom-elysia",{"title":91,"path":92,"stem":93,"icon":94},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","2.frameworks\u002F11.cloudflare-workers","i-simple-icons-cloudflare",{"title":96,"path":97,"stem":98,"icon":99},"Standalone","\u002Fframeworks\u002Fstandalone","2.frameworks\u002F12.standalone","i-simple-icons-typescript",{"title":101,"path":102,"stem":103,"icon":104},"Astro","\u002Fframeworks\u002Fastro","2.frameworks\u002F13.astro","i-simple-icons-astro",{"title":106,"path":107,"stem":108,"icon":109},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","2.frameworks\u002F14.custom-integration","i-lucide-puzzle",{"title":111,"path":112,"stem":113,"children":114,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[115,120,125,130,135,139,144],{"title":116,"path":117,"stem":118,"icon":119},"Request Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":121,"path":122,"stem":123,"icon":124},"Wide Events","\u002Fcore-concepts\u002Fwide-events","3.core-concepts\u002F1.wide-events","i-lucide-layers",{"title":126,"path":127,"stem":128,"icon":129},"Structured Errors","\u002Fcore-concepts\u002Fstructured-errors","3.core-concepts\u002F2.structured-errors","i-lucide-shield-alert",{"title":131,"path":132,"stem":133,"icon":134},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F3.best-practices","i-lucide-shield-check",{"title":136,"path":137,"stem":138,"icon":99},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F4.typed-fields",{"title":140,"path":141,"stem":142,"icon":143},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F5.sampling","i-lucide-filter",{"title":145,"path":146,"stem":147,"icon":148},"Client Logging","\u002Fcore-concepts\u002Fclient-logging","3.core-concepts\u002F6.client-logging","i-lucide-monitor",{"title":150,"path":151,"stem":152,"children":153,"page":29},"Adapters","\u002Fadapters","4.adapters",[154,158,163,168,173,178,183,188,193],{"title":36,"path":155,"stem":156,"icon":157},"\u002Fadapters\u002Foverview","4.adapters\u002F1.overview","i-custom-plug",{"title":159,"path":160,"stem":161,"icon":162},"Axiom","\u002Fadapters\u002Faxiom","4.adapters\u002F2.axiom","i-custom-axiom",{"title":164,"path":165,"stem":166,"icon":167},"OTLP","\u002Fadapters\u002Fotlp","4.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":169,"path":170,"stem":171,"icon":172},"PostHog","\u002Fadapters\u002Fposthog","4.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":174,"path":175,"stem":176,"icon":177},"Sentry","\u002Fadapters\u002Fsentry","4.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":179,"path":180,"stem":181,"icon":182},"Better Stack","\u002Fadapters\u002Fbetter-stack","4.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":184,"path":185,"stem":186,"icon":187},"Custom Adapters","\u002Fadapters\u002Fcustom","4.adapters\u002F7.custom","i-lucide-code",{"title":189,"path":190,"stem":191,"icon":192},"Pipeline","\u002Fadapters\u002Fpipeline","4.adapters\u002F8.pipeline","i-lucide-workflow",{"title":194,"path":195,"stem":196,"icon":197},"Browser","\u002Fadapters\u002Fbrowser","4.adapters\u002F9.browser","i-lucide-globe",{"title":199,"path":200,"stem":201,"children":202,"page":29},"Enrichers","\u002Fenrichers","5.enrichers",[203,206,210],{"title":36,"path":204,"stem":205,"icon":28},"\u002Fenrichers\u002Foverview","5.enrichers\u002F1.overview",{"title":207,"path":208,"stem":209,"icon":109},"Built-in","\u002Fenrichers\u002Fbuilt-in","5.enrichers\u002F2.built-in",{"title":211,"path":212,"stem":213,"icon":187},"Custom","\u002Fenrichers\u002Fcustom","5.enrichers\u002F3.custom",{"title":215,"path":216,"stem":217,"children":218,"page":29},"NuxtHub","\u002Fnuxthub","6.nuxthub",[219,223],{"title":36,"path":220,"stem":221,"icon":222},"\u002Fnuxthub\u002Foverview","6.nuxthub\u002F1.overview","i-lucide-database",{"title":224,"path":225,"stem":226,"icon":227},"Retention","\u002Fnuxthub\u002Fretention","6.nuxthub\u002F2.retention","i-lucide-clock",{"id":229,"title":91,"body":230,"description":1958,"extension":1959,"links":1960,"meta":1961,"navigation":1962,"path":92,"seo":1963,"stem":93,"__hash__":1964},"docs\u002F2.frameworks\u002F11.cloudflare-workers.md",{"type":231,"value":232,"toc":1947},"minimark",[233,246,250,255,280,284,579,597,605,608,611,999,1065,1069,1076,1597,1601,1607,1891,1901,1905,1908,1926,1930,1943],[234,235,236,237,241,242,245],"p",{},"The ",[238,239,240],"code",{},"evlog\u002Fworkers"," adapter provides factory functions for creating request-scoped loggers with Cloudflare-specific context. Unlike framework integrations, Workers require manual ",[238,243,244],{},"log.emit()"," calls since there is no middleware lifecycle to hook into.",[247,248,20],"h2",{"id":249},"quick-start",[251,252,254],"h3",{"id":253},"_1-install","1. Install",[256,257,262],"pre",{"className":258,"code":259,"language":260,"meta":261,"style":261},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bun add evlog\n","bash","",[238,263,264],{"__ignoreMap":261},[265,266,269,273,277],"span",{"class":267,"line":268},"line",1,[265,270,272],{"class":271},"sBMFI","bun",[265,274,276],{"class":275},"sfazB"," add",[265,278,279],{"class":275}," evlog\n",[251,281,283],{"id":282},"_2-initialize-and-create-request-loggers","2. Initialize and create request loggers",[256,285,290],{"className":286,"code":287,"filename":288,"language":289,"meta":261,"style":261},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { initWorkersLogger, createWorkersLogger } from 'evlog\u002Fworkers'\n\ninitWorkersLogger({\n  env: { service: 'my-worker' },\n})\n\nexport default {\n  async fetch(request: Request, env: Env): Promise\u003CResponse> {\n    const log = createWorkersLogger(request)\n\n    log.set({ action: 'handle_request' })\n\n    \u002F\u002F ... your handler logic\n\n    log.emit()\n    return Response.json({ ok: true })\n  },\n}\n","src\u002Fworker.ts","typescript",[238,291,292,326,333,346,374,383,388,400,448,468,473,506,511,518,523,536,567,573],{"__ignoreMap":261},[265,293,294,298,302,306,309,312,315,318,321,323],{"class":267,"line":268},[265,295,297],{"class":296},"s7zQu","import",[265,299,301],{"class":300},"sMK4o"," {",[265,303,305],{"class":304},"sTEyZ"," initWorkersLogger",[265,307,308],{"class":300},",",[265,310,311],{"class":304}," createWorkersLogger",[265,313,314],{"class":300}," }",[265,316,317],{"class":296}," from",[265,319,320],{"class":300}," '",[265,322,240],{"class":275},[265,324,325],{"class":300},"'\n",[265,327,329],{"class":267,"line":328},2,[265,330,332],{"emptyLinePlaceholder":331},true,"\n",[265,334,336,340,343],{"class":267,"line":335},3,[265,337,339],{"class":338},"s2Zo4","initWorkersLogger",[265,341,342],{"class":304},"(",[265,344,345],{"class":300},"{\n",[265,347,349,353,356,358,361,363,365,368,371],{"class":267,"line":348},4,[265,350,352],{"class":351},"swJcz","  env",[265,354,355],{"class":300},":",[265,357,301],{"class":300},[265,359,360],{"class":351}," service",[265,362,355],{"class":300},[265,364,320],{"class":300},[265,366,367],{"class":275},"my-worker",[265,369,370],{"class":300},"'",[265,372,373],{"class":300}," },\n",[265,375,377,380],{"class":267,"line":376},5,[265,378,379],{"class":300},"}",[265,381,382],{"class":304},")\n",[265,384,386],{"class":267,"line":385},6,[265,387,332],{"emptyLinePlaceholder":331},[265,389,391,394,397],{"class":267,"line":390},7,[265,392,393],{"class":296},"export",[265,395,396],{"class":296}," default",[265,398,399],{"class":300}," {\n",[265,401,403,407,410,412,416,418,421,423,426,428,431,434,437,440,443,446],{"class":267,"line":402},8,[265,404,406],{"class":405},"spNyl","  async",[265,408,409],{"class":351}," fetch",[265,411,342],{"class":300},[265,413,415],{"class":414},"sHdIc","request",[265,417,355],{"class":300},[265,419,420],{"class":271}," Request",[265,422,308],{"class":300},[265,424,425],{"class":414}," env",[265,427,355],{"class":300},[265,429,430],{"class":271}," Env",[265,432,433],{"class":300},"):",[265,435,436],{"class":271}," Promise",[265,438,439],{"class":300},"\u003C",[265,441,442],{"class":271},"Response",[265,444,445],{"class":300},">",[265,447,399],{"class":300},[265,449,451,454,457,460,462,464,466],{"class":267,"line":450},9,[265,452,453],{"class":405},"    const",[265,455,456],{"class":304}," log",[265,458,459],{"class":300}," =",[265,461,311],{"class":338},[265,463,342],{"class":351},[265,465,415],{"class":304},[265,467,382],{"class":351},[265,469,471],{"class":267,"line":470},10,[265,472,332],{"emptyLinePlaceholder":331},[265,474,476,479,482,485,487,490,493,495,497,500,502,504],{"class":267,"line":475},11,[265,477,478],{"class":304},"    log",[265,480,481],{"class":300},".",[265,483,484],{"class":338},"set",[265,486,342],{"class":351},[265,488,489],{"class":300},"{",[265,491,492],{"class":351}," action",[265,494,355],{"class":300},[265,496,320],{"class":300},[265,498,499],{"class":275},"handle_request",[265,501,370],{"class":300},[265,503,314],{"class":300},[265,505,382],{"class":351},[265,507,509],{"class":267,"line":508},12,[265,510,332],{"emptyLinePlaceholder":331},[265,512,514],{"class":267,"line":513},13,[265,515,517],{"class":516},"sHwdD","    \u002F\u002F ... your handler logic\n",[265,519,521],{"class":267,"line":520},14,[265,522,332],{"emptyLinePlaceholder":331},[265,524,526,528,530,533],{"class":267,"line":525},15,[265,527,478],{"class":304},[265,529,481],{"class":300},[265,531,532],{"class":338},"emit",[265,534,535],{"class":351},"()\n",[265,537,539,542,545,547,550,552,554,557,559,563,565],{"class":267,"line":538},16,[265,540,541],{"class":296},"    return",[265,543,544],{"class":304}," Response",[265,546,481],{"class":300},[265,548,549],{"class":338},"json",[265,551,342],{"class":351},[265,553,489],{"class":300},[265,555,556],{"class":351}," ok",[265,558,355],{"class":300},[265,560,562],{"class":561},"sfNiH"," true",[265,564,314],{"class":300},[265,566,382],{"class":351},[265,568,570],{"class":267,"line":569},17,[265,571,572],{"class":300},"  },\n",[265,574,576],{"class":267,"line":575},18,[265,577,578],{"class":300},"}\n",[234,580,581,584,585,588,589,592,593,596],{},[238,582,583],{},"createWorkersLogger(request)"," automatically extracts ",[238,586,587],{},"method",", ",[238,590,591],{},"path",", and ",[238,594,595],{},"cf-ray"," from the request.",[598,599,601,602,604],"callout",{"color":600,"icon":13},"info","You must call ",[238,603,244],{}," manually before returning a response. Workers don't have a request lifecycle hook to auto-emit.",[247,606,121],{"id":607},"wide-events",[234,609,610],{},"Build up context progressively, then emit at the end:",[256,612,614],{"className":286,"code":613,"filename":288,"language":289,"meta":261,"style":261},"export default {\n  async fetch(request: Request, env: Env): Promise\u003CResponse> {\n    const log = createWorkersLogger(request)\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}\n",[238,615,616,624,658,674,700,704,732,736,810,860,864,917,953,957,967,991,995],{"__ignoreMap":261},[265,617,618,620,622],{"class":267,"line":268},[265,619,393],{"class":296},[265,621,396],{"class":296},[265,623,399],{"class":300},[265,625,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656],{"class":267,"line":328},[265,627,406],{"class":405},[265,629,409],{"class":351},[265,631,342],{"class":300},[265,633,415],{"class":414},[265,635,355],{"class":300},[265,637,420],{"class":271},[265,639,308],{"class":300},[265,641,425],{"class":414},[265,643,355],{"class":300},[265,645,430],{"class":271},[265,647,433],{"class":300},[265,649,436],{"class":271},[265,651,439],{"class":300},[265,653,442],{"class":271},[265,655,445],{"class":300},[265,657,399],{"class":300},[265,659,660,662,664,666,668,670,672],{"class":267,"line":335},[265,661,453],{"class":405},[265,663,456],{"class":304},[265,665,459],{"class":300},[265,667,311],{"class":338},[265,669,342],{"class":351},[265,671,415],{"class":304},[265,673,382],{"class":351},[265,675,676,678,681,683,686,689,691,693,695,698],{"class":267,"line":348},[265,677,453],{"class":405},[265,679,680],{"class":304}," url",[265,682,459],{"class":300},[265,684,685],{"class":300}," new",[265,687,688],{"class":338}," URL",[265,690,342],{"class":351},[265,692,415],{"class":304},[265,694,481],{"class":300},[265,696,697],{"class":304},"url",[265,699,382],{"class":351},[265,701,702],{"class":267,"line":376},[265,703,332],{"emptyLinePlaceholder":331},[265,705,706,708,710,712,714,716,719,721,723,725,728,730],{"class":267,"line":385},[265,707,478],{"class":304},[265,709,481],{"class":300},[265,711,484],{"class":338},[265,713,342],{"class":351},[265,715,489],{"class":300},[265,717,718],{"class":351}," route",[265,720,355],{"class":300},[265,722,680],{"class":304},[265,724,481],{"class":300},[265,726,727],{"class":304},"pathname",[265,729,314],{"class":300},[265,731,382],{"class":351},[265,733,734],{"class":267,"line":390},[265,735,332],{"emptyLinePlaceholder":331},[265,737,738,740,743,745,748,750,752,755,757,760,762,764,767,769,772,774,777,779,781,783,786,788,791,793,795,798,800,803,805,808],{"class":267,"line":402},[265,739,453],{"class":405},[265,741,742],{"class":304}," user",[265,744,459],{"class":300},[265,746,747],{"class":296}," await",[265,749,425],{"class":304},[265,751,481],{"class":300},[265,753,754],{"class":304},"DB",[265,756,481],{"class":300},[265,758,759],{"class":338},"prepare",[265,761,342],{"class":351},[265,763,370],{"class":300},[265,765,766],{"class":275},"SELECT * FROM users WHERE id = ?",[265,768,370],{"class":300},[265,770,771],{"class":351},")",[265,773,481],{"class":300},[265,775,776],{"class":338},"bind",[265,778,342],{"class":351},[265,780,697],{"class":304},[265,782,481],{"class":300},[265,784,785],{"class":304},"searchParams",[265,787,481],{"class":300},[265,789,790],{"class":338},"get",[265,792,342],{"class":351},[265,794,370],{"class":300},[265,796,797],{"class":275},"userId",[265,799,370],{"class":300},[265,801,802],{"class":351},"))",[265,804,481],{"class":300},[265,806,807],{"class":338},"first",[265,809,535],{"class":351},[265,811,812,814,816,818,820,822,824,826,828,831,833,835,837,840,842,845,847,849,851,854,856,858],{"class":267,"line":450},[265,813,478],{"class":304},[265,815,481],{"class":300},[265,817,484],{"class":338},[265,819,342],{"class":351},[265,821,489],{"class":300},[265,823,742],{"class":351},[265,825,355],{"class":300},[265,827,301],{"class":300},[265,829,830],{"class":351}," id",[265,832,355],{"class":300},[265,834,742],{"class":304},[265,836,481],{"class":300},[265,838,839],{"class":304},"id",[265,841,308],{"class":300},[265,843,844],{"class":351}," plan",[265,846,355],{"class":300},[265,848,742],{"class":304},[265,850,481],{"class":300},[265,852,853],{"class":304},"plan",[265,855,314],{"class":300},[265,857,314],{"class":300},[265,859,382],{"class":351},[265,861,862],{"class":267,"line":470},[265,863,332],{"emptyLinePlaceholder":331},[265,865,866,868,871,873,875,877,879,881,883,885,887,889,892,894,896,898,900,902,905,907,909,911,913,915],{"class":267,"line":475},[265,867,453],{"class":405},[265,869,870],{"class":304}," orders",[265,872,459],{"class":300},[265,874,747],{"class":296},[265,876,425],{"class":304},[265,878,481],{"class":300},[265,880,754],{"class":304},[265,882,481],{"class":300},[265,884,759],{"class":338},[265,886,342],{"class":351},[265,888,370],{"class":300},[265,890,891],{"class":275},"SELECT COUNT(*) as count FROM orders WHERE user_id = ?",[265,893,370],{"class":300},[265,895,771],{"class":351},[265,897,481],{"class":300},[265,899,776],{"class":338},[265,901,342],{"class":351},[265,903,904],{"class":304},"user",[265,906,481],{"class":300},[265,908,839],{"class":304},[265,910,771],{"class":351},[265,912,481],{"class":300},[265,914,807],{"class":338},[265,916,535],{"class":351},[265,918,919,921,923,925,927,929,931,933,935,938,940,942,944,947,949,951],{"class":267,"line":508},[265,920,478],{"class":304},[265,922,481],{"class":300},[265,924,484],{"class":338},[265,926,342],{"class":351},[265,928,489],{"class":300},[265,930,870],{"class":351},[265,932,355],{"class":300},[265,934,301],{"class":300},[265,936,937],{"class":351}," count",[265,939,355],{"class":300},[265,941,870],{"class":304},[265,943,481],{"class":300},[265,945,946],{"class":304},"count",[265,948,314],{"class":300},[265,950,314],{"class":300},[265,952,382],{"class":351},[265,954,955],{"class":267,"line":513},[265,956,332],{"emptyLinePlaceholder":331},[265,958,959,961,963,965],{"class":267,"line":520},[265,960,478],{"class":304},[265,962,481],{"class":300},[265,964,532],{"class":338},[265,966,535],{"class":351},[265,968,969,971,973,975,977,979,981,983,985,987,989],{"class":267,"line":525},[265,970,541],{"class":296},[265,972,544],{"class":304},[265,974,481],{"class":300},[265,976,549],{"class":338},[265,978,342],{"class":351},[265,980,489],{"class":300},[265,982,742],{"class":304},[265,984,308],{"class":300},[265,986,870],{"class":304},[265,988,314],{"class":300},[265,990,382],{"class":351},[265,992,993],{"class":267,"line":538},[265,994,572],{"class":300},[265,996,997],{"class":267,"line":569},[265,998,578],{"class":300},[256,1000,1003],{"className":258,"code":1001,"filename":1002,"language":260,"meta":261,"style":261},"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",[238,1004,1005,1016,1031,1044,1054],{"__ignoreMap":261},[265,1006,1007,1010,1013],{"class":267,"line":268},[265,1008,1009],{"class":271},"14:58:15",[265,1011,1012],{"class":275}," INFO",[265,1014,1015],{"class":304}," [my-worker] GET \u002Fapi\u002Fusers 200 in 12ms\n",[265,1017,1018,1021,1024,1027],{"class":267,"line":328},[265,1019,1020],{"class":271},"  ├─",[265,1022,1023],{"class":275}," orders:",[265,1025,1026],{"class":275}," count=",[265,1028,1030],{"class":1029},"sbssI","5\n",[265,1032,1033,1035,1038,1041],{"class":267,"line":335},[265,1034,1020],{"class":271},[265,1036,1037],{"class":275}," user:",[265,1039,1040],{"class":275}," id=usr_123",[265,1042,1043],{"class":275}," plan=pro\n",[265,1045,1046,1048,1051],{"class":267,"line":348},[265,1047,1020],{"class":271},[265,1049,1050],{"class":275}," route:",[265,1052,1053],{"class":275}," \u002Fapi\u002Fusers\n",[265,1055,1056,1059,1062],{"class":267,"line":376},[265,1057,1058],{"class":271},"  └─",[265,1060,1061],{"class":275}," requestId:",[265,1063,1064],{"class":275}," 4a8ff3a8-...\n",[247,1066,1068],{"id":1067},"error-handling","Error Handling",[234,1070,1071,1072,1075],{},"Use ",[238,1073,1074],{},"createError"," for structured errors and handle them with try\u002Fcatch:",[256,1077,1079],{"className":286,"code":1078,"filename":288,"language":289,"meta":261,"style":261},"import { createError, parseError } from 'evlog'\n\nexport default {\n  async fetch(request: Request, env: Env): Promise\u003CResponse> {\n    const log = createWorkersLogger(request)\n\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}\n",[238,1080,1081,1106,1110,1118,1152,1168,1172,1179,1200,1238,1242,1268,1279,1292,1308,1324,1340,1347,1352,1357,1368,1395,1413,1457,1468,1473,1491,1506,1523,1540,1557,1581,1587,1592],{"__ignoreMap":261},[265,1082,1083,1085,1087,1090,1092,1095,1097,1099,1101,1104],{"class":267,"line":268},[265,1084,297],{"class":296},[265,1086,301],{"class":300},[265,1088,1089],{"class":304}," createError",[265,1091,308],{"class":300},[265,1093,1094],{"class":304}," parseError",[265,1096,314],{"class":300},[265,1098,317],{"class":296},[265,1100,320],{"class":300},[265,1102,1103],{"class":275},"evlog",[265,1105,325],{"class":300},[265,1107,1108],{"class":267,"line":328},[265,1109,332],{"emptyLinePlaceholder":331},[265,1111,1112,1114,1116],{"class":267,"line":335},[265,1113,393],{"class":296},[265,1115,396],{"class":296},[265,1117,399],{"class":300},[265,1119,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150],{"class":267,"line":348},[265,1121,406],{"class":405},[265,1123,409],{"class":351},[265,1125,342],{"class":300},[265,1127,415],{"class":414},[265,1129,355],{"class":300},[265,1131,420],{"class":271},[265,1133,308],{"class":300},[265,1135,425],{"class":414},[265,1137,355],{"class":300},[265,1139,430],{"class":271},[265,1141,433],{"class":300},[265,1143,436],{"class":271},[265,1145,439],{"class":300},[265,1147,442],{"class":271},[265,1149,445],{"class":300},[265,1151,399],{"class":300},[265,1153,1154,1156,1158,1160,1162,1164,1166],{"class":267,"line":376},[265,1155,453],{"class":405},[265,1157,456],{"class":304},[265,1159,459],{"class":300},[265,1161,311],{"class":338},[265,1163,342],{"class":351},[265,1165,415],{"class":304},[265,1167,382],{"class":351},[265,1169,1170],{"class":267,"line":385},[265,1171,332],{"emptyLinePlaceholder":331},[265,1173,1174,1177],{"class":267,"line":390},[265,1175,1176],{"class":296},"    try",[265,1178,399],{"class":300},[265,1180,1181,1184,1187,1189,1191,1194,1196,1198],{"class":267,"line":402},[265,1182,1183],{"class":405},"      const",[265,1185,1186],{"class":304}," body",[265,1188,459],{"class":300},[265,1190,747],{"class":296},[265,1192,1193],{"class":304}," request",[265,1195,481],{"class":300},[265,1197,549],{"class":338},[265,1199,535],{"class":351},[265,1201,1202,1205,1207,1209,1211,1213,1216,1218,1220,1223,1225,1227,1229,1232,1234,1236],{"class":267,"line":450},[265,1203,1204],{"class":304},"      log",[265,1206,481],{"class":300},[265,1208,484],{"class":338},[265,1210,342],{"class":351},[265,1212,489],{"class":300},[265,1214,1215],{"class":351}," payment",[265,1217,355],{"class":300},[265,1219,301],{"class":300},[265,1221,1222],{"class":351}," amount",[265,1224,355],{"class":300},[265,1226,1186],{"class":304},[265,1228,481],{"class":300},[265,1230,1231],{"class":304},"amount",[265,1233,314],{"class":300},[265,1235,314],{"class":300},[265,1237,382],{"class":351},[265,1239,1240],{"class":267,"line":470},[265,1241,332],{"emptyLinePlaceholder":331},[265,1243,1244,1247,1250,1253,1255,1257,1260,1263,1266],{"class":267,"line":475},[265,1245,1246],{"class":296},"      if",[265,1248,1249],{"class":351}," (",[265,1251,1252],{"class":304},"body",[265,1254,481],{"class":300},[265,1256,1231],{"class":304},[265,1258,1259],{"class":300}," \u003C=",[265,1261,1262],{"class":1029}," 0",[265,1264,1265],{"class":351},") ",[265,1267,345],{"class":300},[265,1269,1270,1273,1275,1277],{"class":267,"line":508},[265,1271,1272],{"class":296},"        throw",[265,1274,1089],{"class":338},[265,1276,342],{"class":351},[265,1278,345],{"class":300},[265,1280,1281,1284,1286,1289],{"class":267,"line":513},[265,1282,1283],{"class":351},"          status",[265,1285,355],{"class":300},[265,1287,1288],{"class":1029}," 400",[265,1290,1291],{"class":300},",\n",[265,1293,1294,1297,1299,1301,1304,1306],{"class":267,"line":520},[265,1295,1296],{"class":351},"          message",[265,1298,355],{"class":300},[265,1300,320],{"class":300},[265,1302,1303],{"class":275},"Invalid payment amount",[265,1305,370],{"class":300},[265,1307,1291],{"class":300},[265,1309,1310,1313,1315,1317,1320,1322],{"class":267,"line":525},[265,1311,1312],{"class":351},"          why",[265,1314,355],{"class":300},[265,1316,320],{"class":300},[265,1318,1319],{"class":275},"The amount must be a positive number",[265,1321,370],{"class":300},[265,1323,1291],{"class":300},[265,1325,1326,1329,1331,1333,1336,1338],{"class":267,"line":538},[265,1327,1328],{"class":351},"          fix",[265,1330,355],{"class":300},[265,1332,320],{"class":300},[265,1334,1335],{"class":275},"Pass a positive integer in cents",[265,1337,370],{"class":300},[265,1339,1291],{"class":300},[265,1341,1342,1345],{"class":267,"line":569},[265,1343,1344],{"class":300},"        }",[265,1346,382],{"class":351},[265,1348,1349],{"class":267,"line":575},[265,1350,1351],{"class":300},"      }\n",[265,1353,1355],{"class":267,"line":1354},19,[265,1356,332],{"emptyLinePlaceholder":331},[265,1358,1360,1362,1364,1366],{"class":267,"line":1359},20,[265,1361,1204],{"class":304},[265,1363,481],{"class":300},[265,1365,532],{"class":338},[265,1367,535],{"class":351},[265,1369,1371,1374,1376,1378,1380,1382,1384,1387,1389,1391,1393],{"class":267,"line":1370},21,[265,1372,1373],{"class":296},"      return",[265,1375,544],{"class":304},[265,1377,481],{"class":300},[265,1379,549],{"class":338},[265,1381,342],{"class":351},[265,1383,489],{"class":300},[265,1385,1386],{"class":351}," success",[265,1388,355],{"class":300},[265,1390,562],{"class":561},[265,1392,314],{"class":300},[265,1394,382],{"class":351},[265,1396,1398,1401,1404,1406,1409,1411],{"class":267,"line":1397},22,[265,1399,1400],{"class":300},"    }",[265,1402,1403],{"class":296}," catch",[265,1405,1249],{"class":351},[265,1407,1408],{"class":304},"error",[265,1410,1265],{"class":351},[265,1412,345],{"class":300},[265,1414,1416,1418,1420,1422,1424,1426,1429,1432,1435,1438,1441,1443,1445,1447,1450,1452,1454],{"class":267,"line":1415},23,[265,1417,1204],{"class":304},[265,1419,481],{"class":300},[265,1421,1408],{"class":338},[265,1423,342],{"class":351},[265,1425,1408],{"class":304},[265,1427,1428],{"class":300}," instanceof",[265,1430,1431],{"class":271}," Error",[265,1433,1434],{"class":300}," ?",[265,1436,1437],{"class":304}," error",[265,1439,1440],{"class":300}," :",[265,1442,685],{"class":300},[265,1444,1431],{"class":338},[265,1446,342],{"class":351},[265,1448,1449],{"class":338},"String",[265,1451,342],{"class":351},[265,1453,1408],{"class":304},[265,1455,1456],{"class":351},")))\n",[265,1458,1460,1462,1464,1466],{"class":267,"line":1459},24,[265,1461,1204],{"class":304},[265,1463,481],{"class":300},[265,1465,532],{"class":338},[265,1467,535],{"class":351},[265,1469,1471],{"class":267,"line":1470},25,[265,1472,332],{"emptyLinePlaceholder":331},[265,1474,1476,1478,1481,1483,1485,1487,1489],{"class":267,"line":1475},26,[265,1477,1183],{"class":405},[265,1479,1480],{"class":304}," parsed",[265,1482,459],{"class":300},[265,1484,1094],{"class":338},[265,1486,342],{"class":351},[265,1488,1408],{"class":304},[265,1490,382],{"class":351},[265,1492,1494,1496,1498,1500,1502,1504],{"class":267,"line":1493},27,[265,1495,1373],{"class":296},[265,1497,544],{"class":304},[265,1499,481],{"class":300},[265,1501,549],{"class":338},[265,1503,342],{"class":351},[265,1505,345],{"class":300},[265,1507,1509,1512,1514,1516,1518,1521],{"class":267,"line":1508},28,[265,1510,1511],{"class":351},"        message",[265,1513,355],{"class":300},[265,1515,1480],{"class":304},[265,1517,481],{"class":300},[265,1519,1520],{"class":304},"message",[265,1522,1291],{"class":300},[265,1524,1526,1529,1531,1533,1535,1538],{"class":267,"line":1525},29,[265,1527,1528],{"class":351},"        why",[265,1530,355],{"class":300},[265,1532,1480],{"class":304},[265,1534,481],{"class":300},[265,1536,1537],{"class":304},"why",[265,1539,1291],{"class":300},[265,1541,1543,1546,1548,1550,1552,1555],{"class":267,"line":1542},30,[265,1544,1545],{"class":351},"        fix",[265,1547,355],{"class":300},[265,1549,1480],{"class":304},[265,1551,481],{"class":300},[265,1553,1554],{"class":304},"fix",[265,1556,1291],{"class":300},[265,1558,1560,1563,1565,1568,1570,1572,1574,1577,1579],{"class":267,"line":1559},31,[265,1561,1562],{"class":300},"      },",[265,1564,301],{"class":300},[265,1566,1567],{"class":351}," status",[265,1569,355],{"class":300},[265,1571,1480],{"class":304},[265,1573,481],{"class":300},[265,1575,1576],{"class":304},"status",[265,1578,314],{"class":300},[265,1580,382],{"class":351},[265,1582,1584],{"class":267,"line":1583},32,[265,1585,1586],{"class":300},"    }\n",[265,1588,1590],{"class":267,"line":1589},33,[265,1591,572],{"class":300},[265,1593,1595],{"class":267,"line":1594},34,[265,1596,578],{"class":300},[247,1598,1600],{"id":1599},"drain-enrichers","Drain & Enrichers",[234,1602,1603,1604,1606],{},"Configure drain and enrichers via ",[238,1605,339],{}," options:",[256,1608,1610],{"className":286,"code":1609,"filename":288,"language":289,"meta":261,"style":261},"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",[238,1611,1612,1634,1654,1674,1694,1716,1720,1744,1773,1779,1799,1812,1816,1824,1844,1851,1870,1881,1885],{"__ignoreMap":261},[265,1613,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632],{"class":267,"line":268},[265,1615,297],{"class":296},[265,1617,301],{"class":300},[265,1619,305],{"class":304},[265,1621,308],{"class":300},[265,1623,311],{"class":304},[265,1625,314],{"class":300},[265,1627,317],{"class":296},[265,1629,320],{"class":300},[265,1631,240],{"class":275},[265,1633,325],{"class":300},[265,1635,1636,1638,1640,1643,1645,1647,1649,1652],{"class":267,"line":328},[265,1637,297],{"class":296},[265,1639,301],{"class":300},[265,1641,1642],{"class":304}," createAxiomDrain",[265,1644,314],{"class":300},[265,1646,317],{"class":296},[265,1648,320],{"class":300},[265,1650,1651],{"class":275},"evlog\u002Faxiom",[265,1653,325],{"class":300},[265,1655,1656,1658,1660,1663,1665,1667,1669,1672],{"class":267,"line":335},[265,1657,297],{"class":296},[265,1659,301],{"class":300},[265,1661,1662],{"class":304}," createUserAgentEnricher",[265,1664,314],{"class":300},[265,1666,317],{"class":296},[265,1668,320],{"class":300},[265,1670,1671],{"class":275},"evlog\u002Fenrichers",[265,1673,325],{"class":300},[265,1675,1676,1678,1680,1683,1685,1687,1689,1692],{"class":267,"line":348},[265,1677,297],{"class":296},[265,1679,301],{"class":300},[265,1681,1682],{"class":304}," createDrainPipeline",[265,1684,314],{"class":300},[265,1686,317],{"class":296},[265,1688,320],{"class":300},[265,1690,1691],{"class":275},"evlog\u002Fpipeline",[265,1693,325],{"class":300},[265,1695,1696,1698,1701,1703,1706,1708,1710,1712,1714],{"class":267,"line":376},[265,1697,297],{"class":296},[265,1699,1700],{"class":296}," type",[265,1702,301],{"class":300},[265,1704,1705],{"class":304}," DrainContext",[265,1707,314],{"class":300},[265,1709,317],{"class":296},[265,1711,320],{"class":300},[265,1713,1103],{"class":275},[265,1715,325],{"class":300},[265,1717,1718],{"class":267,"line":385},[265,1719,332],{"emptyLinePlaceholder":331},[265,1721,1722,1725,1728,1731,1733,1735,1738,1740,1742],{"class":267,"line":390},[265,1723,1724],{"class":405},"const",[265,1726,1727],{"class":304}," pipeline ",[265,1729,1730],{"class":300},"=",[265,1732,1682],{"class":338},[265,1734,439],{"class":300},[265,1736,1737],{"class":271},"DrainContext",[265,1739,445],{"class":300},[265,1741,342],{"class":304},[265,1743,345],{"class":300},[265,1745,1746,1749,1751,1753,1756,1758,1761,1763,1766,1768,1771],{"class":267,"line":402},[265,1747,1748],{"class":351},"  batch",[265,1750,355],{"class":300},[265,1752,301],{"class":300},[265,1754,1755],{"class":351}," size",[265,1757,355],{"class":300},[265,1759,1760],{"class":1029}," 50",[265,1762,308],{"class":300},[265,1764,1765],{"class":351}," intervalMs",[265,1767,355],{"class":300},[265,1769,1770],{"class":1029}," 5000",[265,1772,373],{"class":300},[265,1774,1775,1777],{"class":267,"line":450},[265,1776,379],{"class":300},[265,1778,382],{"class":304},[265,1780,1781,1783,1786,1788,1791,1793,1796],{"class":267,"line":470},[265,1782,1724],{"class":405},[265,1784,1785],{"class":304}," drain ",[265,1787,1730],{"class":300},[265,1789,1790],{"class":338}," pipeline",[265,1792,342],{"class":304},[265,1794,1795],{"class":338},"createAxiomDrain",[265,1797,1798],{"class":304},"())\n",[265,1800,1801,1803,1806,1808,1810],{"class":267,"line":475},[265,1802,1724],{"class":405},[265,1804,1805],{"class":304}," userAgent ",[265,1807,1730],{"class":300},[265,1809,1662],{"class":338},[265,1811,535],{"class":304},[265,1813,1814],{"class":267,"line":508},[265,1815,332],{"emptyLinePlaceholder":331},[265,1817,1818,1820,1822],{"class":267,"line":513},[265,1819,339],{"class":338},[265,1821,342],{"class":304},[265,1823,345],{"class":300},[265,1825,1826,1828,1830,1832,1834,1836,1838,1840,1842],{"class":267,"line":520},[265,1827,352],{"class":351},[265,1829,355],{"class":300},[265,1831,301],{"class":300},[265,1833,360],{"class":351},[265,1835,355],{"class":300},[265,1837,320],{"class":300},[265,1839,367],{"class":275},[265,1841,370],{"class":300},[265,1843,373],{"class":300},[265,1845,1846,1849],{"class":267,"line":525},[265,1847,1848],{"class":304},"  drain",[265,1850,1291],{"class":300},[265,1852,1853,1856,1858,1860,1863,1865,1868],{"class":267,"line":538},[265,1854,1855],{"class":338},"  enrich",[265,1857,355],{"class":300},[265,1859,1249],{"class":300},[265,1861,1862],{"class":414},"ctx",[265,1864,771],{"class":300},[265,1866,1867],{"class":405}," =>",[265,1869,399],{"class":300},[265,1871,1872,1875,1877,1879],{"class":267,"line":569},[265,1873,1874],{"class":338},"    userAgent",[265,1876,342],{"class":351},[265,1878,1862],{"class":304},[265,1880,382],{"class":351},[265,1882,1883],{"class":267,"line":575},[265,1884,572],{"class":300},[265,1886,1887,1889],{"class":267,"line":1354},[265,1888,379],{"class":300},[265,1890,382],{"class":304},[598,1892,1893,1894,1897,1898,1900],{"color":600,"icon":13},"See the ",[1895,1896,150],"a",{"href":155}," and ",[1895,1899,199],{"href":204}," docs for all available drain adapters and enrichers.",[247,1902,1904],{"id":1903},"wrangler-configuration","Wrangler Configuration",[234,1906,1907],{},"Disable Cloudflare's default invocation logs to avoid duplicates when using evlog:",[256,1909,1914],{"className":1910,"code":1911,"filename":1912,"language":1913,"meta":261,"style":261},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[observability]\nenabled = false\n","wrangler.toml","toml",[238,1915,1916,1921],{"__ignoreMap":261},[265,1917,1918],{"class":267,"line":268},[265,1919,1920],{},"[observability]\n",[265,1922,1923],{"class":267,"line":328},[265,1924,1925],{},"enabled = false\n",[247,1927,1929],{"id":1928},"run-locally","Run Locally",[256,1931,1933],{"className":258,"code":1932,"language":260,"meta":261,"style":261},"wrangler dev\n",[238,1934,1935],{"__ignoreMap":261},[265,1936,1937,1940],{"class":267,"line":268},[265,1938,1939],{"class":271},"wrangler",[265,1941,1942],{"class":275}," dev\n",[1944,1945,1946],"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":261,"searchDepth":328,"depth":328,"links":1948},[1949,1953,1954,1955,1956,1957],{"id":249,"depth":328,"text":20,"children":1950},[1951,1952],{"id":253,"depth":335,"text":254},{"id":282,"depth":335,"text":283},{"id":607,"depth":328,"text":121},{"id":1067,"depth":328,"text":1068},{"id":1599,"depth":328,"text":1600},{"id":1903,"depth":328,"text":1904},{"id":1928,"depth":328,"text":1929},"Using evlog with Cloudflare Workers — wide events, structured errors, and logging in Workers and Durable Objects.","md",null,{},{"title":91,"icon":94},{"title":91,"description":1958},"TM4fDm1Z9TVtuKLBrFFDPPWTsZpiE9-VdK7pV1T1tDs",[1966,1968],{"title":86,"path":87,"stem":88,"description":1967,"icon":89,"children":-1},"Using evlog with Elysia — automatic wide events, structured errors, drain adapters, enrichers, and tail sampling in Elysia applications.",{"title":96,"path":97,"stem":98,"description":1969,"icon":99,"children":-1},"Using evlog in standalone TypeScript — scripts, CLI tools, queues, cron jobs, and any TypeScript process.",1773428029019]