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