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