[{"data":1,"prerenderedAt":2773},["ShallowReactive",2],{"navigation_docs":3,"-core-concepts-wide-events":258,"-core-concepts-wide-events-surround":2768},[4,30,115,174,228,244],{"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],{"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},"Browser","\u002Fadapters\u002Fbrowser","4.adapters\u002F10.browser","i-lucide-globe",{"title":189,"path":190,"stem":191,"icon":192},"Axiom","\u002Fadapters\u002Faxiom","4.adapters\u002F2.axiom","i-custom-axiom",{"title":194,"path":195,"stem":196,"icon":197},"OTLP","\u002Fadapters\u002Fotlp","4.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":199,"path":200,"stem":201,"icon":202},"PostHog","\u002Fadapters\u002Fposthog","4.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":204,"path":205,"stem":206,"icon":207},"Sentry","\u002Fadapters\u002Fsentry","4.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":209,"path":210,"stem":211,"icon":212},"Better Stack","\u002Fadapters\u002Fbetter-stack","4.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":214,"path":215,"stem":216,"icon":217},"File System","\u002Fadapters\u002Ffs","4.adapters\u002F7.fs","i-lucide-hard-drive",{"title":219,"path":220,"stem":221,"icon":222},"Custom Adapters","\u002Fadapters\u002Fcustom","4.adapters\u002F8.custom","i-lucide-code",{"title":224,"path":225,"stem":226,"icon":227},"Pipeline","\u002Fadapters\u002Fpipeline","4.adapters\u002F9.pipeline","i-lucide-workflow",{"title":229,"path":230,"stem":231,"children":232,"page":29},"Enrichers","\u002Fenrichers","5.enrichers",[233,236,240],{"title":36,"path":234,"stem":235,"icon":28},"\u002Fenrichers\u002Foverview","5.enrichers\u002F1.overview",{"title":237,"path":238,"stem":239,"icon":114},"Built-in","\u002Fenrichers\u002Fbuilt-in","5.enrichers\u002F2.built-in",{"title":241,"path":242,"stem":243,"icon":222},"Custom","\u002Fenrichers\u002Fcustom","5.enrichers\u002F3.custom",{"title":245,"path":246,"stem":247,"children":248,"page":29},"NuxtHub","\u002Fnuxthub","6.nuxthub",[249,253],{"title":36,"path":250,"stem":251,"icon":252},"\u002Fnuxthub\u002Foverview","6.nuxthub\u002F1.overview","i-lucide-database",{"title":254,"path":255,"stem":256,"icon":257},"Retention","\u002Fnuxthub\u002Fretention","6.nuxthub\u002F2.retention","i-lucide-clock",{"id":259,"title":126,"body":260,"description":2757,"extension":2758,"links":2759,"meta":2764,"navigation":2765,"path":127,"seo":2766,"stem":128,"__hash__":2767},"docs\u002F3.core-concepts\u002F1.wide-events.md",{"type":261,"value":262,"toc":2740},"minimark",[263,267,272,275,483,486,515,518,833,837,840,845,848,937,941,945,948,1039,1043,1046,1220,1224,1227,1405,1408,1412,1507,1511,1671,1675,1682,2081,2085,2088,2416,2420,2423,2719,2723,2736],[264,265,266],"p",{},"Wide events are the core concept behind evlog. Instead of scattering logs throughout your codebase, you accumulate context and emit a single, comprehensive log event.",[268,269,271],"h2",{"id":270},"why-wide-events","Why Wide Events?",[264,273,274],{},"Traditional logging creates noise:",[276,277,283],"pre",{"className":278,"code":279,"filename":280,"language":281,"meta":282,"style":282},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Traditional approach - 6 separate log lines\nlogger.info('Request started')\nlogger.info('User authenticated', { userId: user.id })\nlogger.info('Fetching cart', { cartId: cart.id })\nlogger.info('Processing payment')\nlogger.info('Payment successful')\nlogger.info('Request completed', { duration: 234 })\n","server\u002Fapi\u002Fcheckout.post.ts","typescript","",[284,285,286,295,325,369,407,427,447],"code",{"__ignoreMap":282},[287,288,291],"span",{"class":289,"line":290},"line",1,[287,292,294],{"class":293},"sHwdD","\u002F\u002F Traditional approach - 6 separate log lines\n",[287,296,298,302,306,310,313,316,320,322],{"class":289,"line":297},2,[287,299,301],{"class":300},"sTEyZ","logger",[287,303,305],{"class":304},"sMK4o",".",[287,307,309],{"class":308},"s2Zo4","info",[287,311,312],{"class":300},"(",[287,314,315],{"class":304},"'",[287,317,319],{"class":318},"sfazB","Request started",[287,321,315],{"class":304},[287,323,324],{"class":300},")\n",[287,326,328,330,332,334,336,338,341,343,346,349,353,356,359,361,364,367],{"class":289,"line":327},3,[287,329,301],{"class":300},[287,331,305],{"class":304},[287,333,309],{"class":308},[287,335,312],{"class":300},[287,337,315],{"class":304},[287,339,340],{"class":318},"User authenticated",[287,342,315],{"class":304},[287,344,345],{"class":304},",",[287,347,348],{"class":304}," {",[287,350,352],{"class":351},"swJcz"," userId",[287,354,355],{"class":304},":",[287,357,358],{"class":300}," user",[287,360,305],{"class":304},[287,362,363],{"class":300},"id ",[287,365,366],{"class":304},"}",[287,368,324],{"class":300},[287,370,372,374,376,378,380,382,385,387,389,391,394,396,399,401,403,405],{"class":289,"line":371},4,[287,373,301],{"class":300},[287,375,305],{"class":304},[287,377,309],{"class":308},[287,379,312],{"class":300},[287,381,315],{"class":304},[287,383,384],{"class":318},"Fetching cart",[287,386,315],{"class":304},[287,388,345],{"class":304},[287,390,348],{"class":304},[287,392,393],{"class":351}," cartId",[287,395,355],{"class":304},[287,397,398],{"class":300}," cart",[287,400,305],{"class":304},[287,402,363],{"class":300},[287,404,366],{"class":304},[287,406,324],{"class":300},[287,408,410,412,414,416,418,420,423,425],{"class":289,"line":409},5,[287,411,301],{"class":300},[287,413,305],{"class":304},[287,415,309],{"class":308},[287,417,312],{"class":300},[287,419,315],{"class":304},[287,421,422],{"class":318},"Processing payment",[287,424,315],{"class":304},[287,426,324],{"class":300},[287,428,430,432,434,436,438,440,443,445],{"class":289,"line":429},6,[287,431,301],{"class":300},[287,433,305],{"class":304},[287,435,309],{"class":308},[287,437,312],{"class":300},[287,439,315],{"class":304},[287,441,442],{"class":318},"Payment successful",[287,444,315],{"class":304},[287,446,324],{"class":300},[287,448,450,452,454,456,458,460,463,465,467,469,472,474,478,481],{"class":289,"line":449},7,[287,451,301],{"class":300},[287,453,305],{"class":304},[287,455,309],{"class":308},[287,457,312],{"class":300},[287,459,315],{"class":304},[287,461,462],{"class":318},"Request completed",[287,464,315],{"class":304},[287,466,345],{"class":304},[287,468,348],{"class":304},[287,470,471],{"class":351}," duration",[287,473,355],{"class":304},[287,475,477],{"class":476},"sbssI"," 234",[287,479,480],{"class":304}," }",[287,482,324],{"class":300},[264,484,485],{},"This approach has problems:",[487,488,489,497,503,509],"ul",{},[490,491,492,496],"li",{},[493,494,495],"strong",{},"Scattered context",": Information is spread across multiple log lines",[490,498,499,502],{},[493,500,501],{},"Hard to correlate",": Matching logs to requests requires request IDs everywhere",[490,504,505,508],{},[493,506,507],{},"Noise",": 10+ log lines per request makes finding issues harder",[490,510,511,514],{},[493,512,513],{},"Incomplete",": Some logs might be missing if errors occur",[264,516,517],{},"Wide events solve this:",[519,520,521,718],"code-group",{},[276,522,525],{"className":278,"code":523,"filename":524,"language":281,"meta":282,"style":282},"\u002F\u002F server\u002Fapi\u002Fcheckout.post.ts\nconst log = useLogger(event)\n\nlog.set({ user: { id: 1, plan: 'pro' } })\nlog.set({ cart: { id: 42, items: 3, total: 9999 } })\nlog.set({ payment: { method: 'card', status: 'success' } })\n\n\u002F\u002F One log, all context - emitted automatically\n","Code",[284,526,527,532,550,556,606,657,708,712],{"__ignoreMap":282},[287,528,529],{"class":289,"line":290},[287,530,531],{"class":293},"\u002F\u002F server\u002Fapi\u002Fcheckout.post.ts\n",[287,533,534,538,541,544,547],{"class":289,"line":297},[287,535,537],{"class":536},"spNyl","const",[287,539,540],{"class":300}," log ",[287,542,543],{"class":304},"=",[287,545,546],{"class":308}," useLogger",[287,548,549],{"class":300},"(event)\n",[287,551,552],{"class":289,"line":327},[287,553,555],{"emptyLinePlaceholder":554},true,"\n",[287,557,558,561,563,566,568,571,573,575,577,580,582,585,587,590,592,595,598,600,602,604],{"class":289,"line":371},[287,559,560],{"class":300},"log",[287,562,305],{"class":304},[287,564,565],{"class":308},"set",[287,567,312],{"class":300},[287,569,570],{"class":304},"{",[287,572,358],{"class":351},[287,574,355],{"class":304},[287,576,348],{"class":304},[287,578,579],{"class":351}," id",[287,581,355],{"class":304},[287,583,584],{"class":476}," 1",[287,586,345],{"class":304},[287,588,589],{"class":351}," plan",[287,591,355],{"class":304},[287,593,594],{"class":304}," '",[287,596,597],{"class":318},"pro",[287,599,315],{"class":304},[287,601,480],{"class":304},[287,603,480],{"class":304},[287,605,324],{"class":300},[287,607,608,610,612,614,616,618,620,622,624,626,628,631,633,636,638,641,643,646,648,651,653,655],{"class":289,"line":409},[287,609,560],{"class":300},[287,611,305],{"class":304},[287,613,565],{"class":308},[287,615,312],{"class":300},[287,617,570],{"class":304},[287,619,398],{"class":351},[287,621,355],{"class":304},[287,623,348],{"class":304},[287,625,579],{"class":351},[287,627,355],{"class":304},[287,629,630],{"class":476}," 42",[287,632,345],{"class":304},[287,634,635],{"class":351}," items",[287,637,355],{"class":304},[287,639,640],{"class":476}," 3",[287,642,345],{"class":304},[287,644,645],{"class":351}," total",[287,647,355],{"class":304},[287,649,650],{"class":476}," 9999",[287,652,480],{"class":304},[287,654,480],{"class":304},[287,656,324],{"class":300},[287,658,659,661,663,665,667,669,672,674,676,679,681,683,686,688,690,693,695,697,700,702,704,706],{"class":289,"line":429},[287,660,560],{"class":300},[287,662,305],{"class":304},[287,664,565],{"class":308},[287,666,312],{"class":300},[287,668,570],{"class":304},[287,670,671],{"class":351}," payment",[287,673,355],{"class":304},[287,675,348],{"class":304},[287,677,678],{"class":351}," method",[287,680,355],{"class":304},[287,682,594],{"class":304},[287,684,685],{"class":318},"card",[287,687,315],{"class":304},[287,689,345],{"class":304},[287,691,692],{"class":351}," status",[287,694,355],{"class":304},[287,696,594],{"class":304},[287,698,699],{"class":318},"success",[287,701,315],{"class":304},[287,703,480],{"class":304},[287,705,480],{"class":304},[287,707,324],{"class":300},[287,709,710],{"class":289,"line":449},[287,711,555],{"emptyLinePlaceholder":554},[287,713,715],{"class":289,"line":714},8,[287,716,717],{"class":293},"\u002F\u002F One log, all context - emitted automatically\n",[276,719,724],{"className":720,"code":721,"filename":722,"language":723,"meta":282,"style":282},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[INFO] POST \u002Fapi\u002Fcheckout (234ms)\n  user: { id: 1, plan: 'pro' }\n  cart: { id: 42, items: 3, total: 9999 }\n  payment: { method: 'card', status: 'success' }\n  status: 200\n","Output","bash",[284,725,726,746,771,796,825],{"__ignoreMap":282},[287,727,728,731,734,737,740,744],{"class":289,"line":290},[287,729,730],{"class":304},"[",[287,732,733],{"class":300},"INFO",[287,735,736],{"class":304},"]",[287,738,739],{"class":300}," POST \u002Fapi\u002Fcheckout (",[287,741,743],{"class":742},"sBMFI","234ms",[287,745,324],{"class":300},[287,747,748,751,753,756,759,762,764,766,768],{"class":289,"line":297},[287,749,750],{"class":742},"  user:",[287,752,348],{"class":318},[287,754,755],{"class":318}," id:",[287,757,758],{"class":318}," 1,",[287,760,761],{"class":318}," plan:",[287,763,594],{"class":304},[287,765,597],{"class":318},[287,767,315],{"class":304},[287,769,770],{"class":318}," }\n",[287,772,773,776,778,780,783,786,789,792,794],{"class":289,"line":327},[287,774,775],{"class":742},"  cart:",[287,777,348],{"class":318},[287,779,755],{"class":318},[287,781,782],{"class":318}," 42,",[287,784,785],{"class":318}," items:",[287,787,788],{"class":318}," 3,",[287,790,791],{"class":318}," total:",[287,793,650],{"class":476},[287,795,770],{"class":318},[287,797,798,801,803,806,808,810,812,814,817,819,821,823],{"class":289,"line":371},[287,799,800],{"class":742},"  payment:",[287,802,348],{"class":318},[287,804,805],{"class":318}," method:",[287,807,594],{"class":304},[287,809,685],{"class":318},[287,811,315],{"class":304},[287,813,345],{"class":318},[287,815,816],{"class":318}," status:",[287,818,594],{"class":304},[287,820,699],{"class":318},[287,822,315],{"class":304},[287,824,770],{"class":318},[287,826,827,830],{"class":289,"line":409},[287,828,829],{"class":742},"  status:",[287,831,832],{"class":476}," 200\n",[268,834,836],{"id":835},"anatomy-of-a-wide-event","Anatomy of a Wide Event",[264,838,839],{},"A well-designed wide event contains context from multiple layers:",[841,842,844],"h3",{"id":843},"request-context","Request Context",[264,846,847],{},"Basic information about the request itself:",[276,849,851],{"className":278,"code":850,"filename":280,"language":281,"meta":282,"style":282},"log.set({\n  method: 'POST',\n  path: '\u002Fapi\u002Fcheckout',\n  requestId: 'abc-123-def',\n  traceId: 'trace-xyz-789',\n})\n",[284,852,853,866,883,899,915,931],{"__ignoreMap":282},[287,854,855,857,859,861,863],{"class":289,"line":290},[287,856,560],{"class":300},[287,858,305],{"class":304},[287,860,565],{"class":308},[287,862,312],{"class":300},[287,864,865],{"class":304},"{\n",[287,867,868,871,873,875,878,880],{"class":289,"line":297},[287,869,870],{"class":351},"  method",[287,872,355],{"class":304},[287,874,594],{"class":304},[287,876,877],{"class":318},"POST",[287,879,315],{"class":304},[287,881,882],{"class":304},",\n",[287,884,885,888,890,892,895,897],{"class":289,"line":327},[287,886,887],{"class":351},"  path",[287,889,355],{"class":304},[287,891,594],{"class":304},[287,893,894],{"class":318},"\u002Fapi\u002Fcheckout",[287,896,315],{"class":304},[287,898,882],{"class":304},[287,900,901,904,906,908,911,913],{"class":289,"line":371},[287,902,903],{"class":351},"  requestId",[287,905,355],{"class":304},[287,907,594],{"class":304},[287,909,910],{"class":318},"abc-123-def",[287,912,315],{"class":304},[287,914,882],{"class":304},[287,916,917,920,922,924,927,929],{"class":289,"line":409},[287,918,919],{"class":351},"  traceId",[287,921,355],{"class":304},[287,923,594],{"class":304},[287,925,926],{"class":318},"trace-xyz-789",[287,928,315],{"class":304},[287,930,882],{"class":304},[287,932,933,935],{"class":289,"line":429},[287,934,366],{"class":304},[287,936,324],{"class":300},[938,939,940],"callout",{"color":309,"icon":13},"In Nuxt\u002FNitro, most request context is auto-populated by evlog.",[841,942,944],{"id":943},"user-context","User Context",[264,946,947],{},"Who is making the request:",[276,949,951],{"className":278,"code":950,"filename":280,"language":281,"meta":282,"style":282},"log.set({\n  userId: user.id,\n  email: user.email,\n  subscription: user.plan,\n  accountAge: daysSince(user.createdAt),\n})\n",[284,952,953,965,981,997,1013,1033],{"__ignoreMap":282},[287,954,955,957,959,961,963],{"class":289,"line":290},[287,956,560],{"class":300},[287,958,305],{"class":304},[287,960,565],{"class":308},[287,962,312],{"class":300},[287,964,865],{"class":304},[287,966,967,970,972,974,976,979],{"class":289,"line":297},[287,968,969],{"class":351},"  userId",[287,971,355],{"class":304},[287,973,358],{"class":300},[287,975,305],{"class":304},[287,977,978],{"class":300},"id",[287,980,882],{"class":304},[287,982,983,986,988,990,992,995],{"class":289,"line":327},[287,984,985],{"class":351},"  email",[287,987,355],{"class":304},[287,989,358],{"class":300},[287,991,305],{"class":304},[287,993,994],{"class":300},"email",[287,996,882],{"class":304},[287,998,999,1002,1004,1006,1008,1011],{"class":289,"line":371},[287,1000,1001],{"class":351},"  subscription",[287,1003,355],{"class":304},[287,1005,358],{"class":300},[287,1007,305],{"class":304},[287,1009,1010],{"class":300},"plan",[287,1012,882],{"class":304},[287,1014,1015,1018,1020,1023,1026,1028,1031],{"class":289,"line":409},[287,1016,1017],{"class":351},"  accountAge",[287,1019,355],{"class":304},[287,1021,1022],{"class":308}," daysSince",[287,1024,1025],{"class":300},"(user",[287,1027,305],{"class":304},[287,1029,1030],{"class":300},"createdAt)",[287,1032,882],{"class":304},[287,1034,1035,1037],{"class":289,"line":429},[287,1036,366],{"class":304},[287,1038,324],{"class":300},[841,1040,1042],{"id":1041},"business-context","Business Context",[264,1044,1045],{},"Domain-specific data relevant to the operation:",[276,1047,1049],{"className":278,"code":1048,"filename":280,"language":281,"meta":282,"style":282},"log.set({\n  cart: {\n    id: cart.id,\n    items: cart.items.length,\n    total: cart.total,\n    currency: 'USD',\n  },\n  shipping: {\n    method: 'express',\n    country: address.country,\n  },\n  coupon: appliedCoupon?.code,\n})\n",[284,1050,1051,1063,1073,1088,1109,1125,1141,1146,1155,1172,1190,1195,1213],{"__ignoreMap":282},[287,1052,1053,1055,1057,1059,1061],{"class":289,"line":290},[287,1054,560],{"class":300},[287,1056,305],{"class":304},[287,1058,565],{"class":308},[287,1060,312],{"class":300},[287,1062,865],{"class":304},[287,1064,1065,1068,1070],{"class":289,"line":297},[287,1066,1067],{"class":351},"  cart",[287,1069,355],{"class":304},[287,1071,1072],{"class":304}," {\n",[287,1074,1075,1078,1080,1082,1084,1086],{"class":289,"line":327},[287,1076,1077],{"class":351},"    id",[287,1079,355],{"class":304},[287,1081,398],{"class":300},[287,1083,305],{"class":304},[287,1085,978],{"class":300},[287,1087,882],{"class":304},[287,1089,1090,1093,1095,1097,1099,1102,1104,1107],{"class":289,"line":371},[287,1091,1092],{"class":351},"    items",[287,1094,355],{"class":304},[287,1096,398],{"class":300},[287,1098,305],{"class":304},[287,1100,1101],{"class":300},"items",[287,1103,305],{"class":304},[287,1105,1106],{"class":300},"length",[287,1108,882],{"class":304},[287,1110,1111,1114,1116,1118,1120,1123],{"class":289,"line":409},[287,1112,1113],{"class":351},"    total",[287,1115,355],{"class":304},[287,1117,398],{"class":300},[287,1119,305],{"class":304},[287,1121,1122],{"class":300},"total",[287,1124,882],{"class":304},[287,1126,1127,1130,1132,1134,1137,1139],{"class":289,"line":429},[287,1128,1129],{"class":351},"    currency",[287,1131,355],{"class":304},[287,1133,594],{"class":304},[287,1135,1136],{"class":318},"USD",[287,1138,315],{"class":304},[287,1140,882],{"class":304},[287,1142,1143],{"class":289,"line":449},[287,1144,1145],{"class":304},"  },\n",[287,1147,1148,1151,1153],{"class":289,"line":714},[287,1149,1150],{"class":351},"  shipping",[287,1152,355],{"class":304},[287,1154,1072],{"class":304},[287,1156,1158,1161,1163,1165,1168,1170],{"class":289,"line":1157},9,[287,1159,1160],{"class":351},"    method",[287,1162,355],{"class":304},[287,1164,594],{"class":304},[287,1166,1167],{"class":318},"express",[287,1169,315],{"class":304},[287,1171,882],{"class":304},[287,1173,1175,1178,1180,1183,1185,1188],{"class":289,"line":1174},10,[287,1176,1177],{"class":351},"    country",[287,1179,355],{"class":304},[287,1181,1182],{"class":300}," address",[287,1184,305],{"class":304},[287,1186,1187],{"class":300},"country",[287,1189,882],{"class":304},[287,1191,1193],{"class":289,"line":1192},11,[287,1194,1145],{"class":304},[287,1196,1198,1201,1203,1206,1209,1211],{"class":289,"line":1197},12,[287,1199,1200],{"class":351},"  coupon",[287,1202,355],{"class":304},[287,1204,1205],{"class":300}," appliedCoupon",[287,1207,1208],{"class":304},"?.",[287,1210,284],{"class":300},[287,1212,882],{"class":304},[287,1214,1216,1218],{"class":289,"line":1215},13,[287,1217,366],{"class":304},[287,1219,324],{"class":300},[841,1221,1223],{"id":1222},"outcome","Outcome",[264,1225,1226],{},"The result of the operation:",[519,1228,1229,1304],{},[276,1230,1233],{"className":278,"code":1231,"filename":1232,"language":281,"meta":282,"style":282},"log.set({\n  status: 200,\n  duration: Date.now() - startTime,\n  success: true,\n})\n","Success",[284,1234,1235,1247,1259,1285,1298],{"__ignoreMap":282},[287,1236,1237,1239,1241,1243,1245],{"class":289,"line":290},[287,1238,560],{"class":300},[287,1240,305],{"class":304},[287,1242,565],{"class":308},[287,1244,312],{"class":300},[287,1246,865],{"class":304},[287,1248,1249,1252,1254,1257],{"class":289,"line":297},[287,1250,1251],{"class":351},"  status",[287,1253,355],{"class":304},[287,1255,1256],{"class":476}," 200",[287,1258,882],{"class":304},[287,1260,1261,1264,1266,1269,1271,1274,1277,1280,1283],{"class":289,"line":327},[287,1262,1263],{"class":351},"  duration",[287,1265,355],{"class":304},[287,1267,1268],{"class":300}," Date",[287,1270,305],{"class":304},[287,1272,1273],{"class":308},"now",[287,1275,1276],{"class":300},"() ",[287,1278,1279],{"class":304},"-",[287,1281,1282],{"class":300}," startTime",[287,1284,882],{"class":304},[287,1286,1287,1290,1292,1296],{"class":289,"line":371},[287,1288,1289],{"class":351},"  success",[287,1291,355],{"class":304},[287,1293,1295],{"class":1294},"sfNiH"," true",[287,1297,882],{"class":304},[287,1299,1300,1302],{"class":289,"line":409},[287,1301,366],{"class":304},[287,1303,324],{"class":300},[276,1305,1308],{"className":278,"code":1306,"filename":1307,"language":281,"meta":282,"style":282},"log.set({\n  status: 500,\n  error: {\n    message: err.message,\n    code: err.code,\n    type: err.constructor.name,\n  },\n})\n","Error",[284,1309,1310,1322,1333,1342,1359,1374,1395,1399],{"__ignoreMap":282},[287,1311,1312,1314,1316,1318,1320],{"class":289,"line":290},[287,1313,560],{"class":300},[287,1315,305],{"class":304},[287,1317,565],{"class":308},[287,1319,312],{"class":300},[287,1321,865],{"class":304},[287,1323,1324,1326,1328,1331],{"class":289,"line":297},[287,1325,1251],{"class":351},[287,1327,355],{"class":304},[287,1329,1330],{"class":476}," 500",[287,1332,882],{"class":304},[287,1334,1335,1338,1340],{"class":289,"line":327},[287,1336,1337],{"class":351},"  error",[287,1339,355],{"class":304},[287,1341,1072],{"class":304},[287,1343,1344,1347,1349,1352,1354,1357],{"class":289,"line":371},[287,1345,1346],{"class":351},"    message",[287,1348,355],{"class":304},[287,1350,1351],{"class":300}," err",[287,1353,305],{"class":304},[287,1355,1356],{"class":300},"message",[287,1358,882],{"class":304},[287,1360,1361,1364,1366,1368,1370,1372],{"class":289,"line":409},[287,1362,1363],{"class":351},"    code",[287,1365,355],{"class":304},[287,1367,1351],{"class":300},[287,1369,305],{"class":304},[287,1371,284],{"class":300},[287,1373,882],{"class":304},[287,1375,1376,1379,1381,1383,1385,1388,1390,1393],{"class":289,"line":429},[287,1377,1378],{"class":351},"    type",[287,1380,355],{"class":304},[287,1382,1351],{"class":300},[287,1384,305],{"class":304},[287,1386,1387],{"class":300},"constructor",[287,1389,305],{"class":304},[287,1391,1392],{"class":300},"name",[287,1394,882],{"class":304},[287,1396,1397],{"class":289,"line":449},[287,1398,1145],{"class":304},[287,1400,1401,1403],{"class":289,"line":714},[287,1402,366],{"class":304},[287,1404,324],{"class":300},[268,1406,146],{"id":1407},"best-practices",[841,1409,1411],{"id":1410},"use-meaningful-keys","Use Meaningful Keys",[276,1413,1415],{"className":278,"code":1414,"language":281,"meta":282,"style":282},"\u002F\u002F Avoid generic keys\nlog.set({ data: { id: 123 } })\n\n\u002F\u002F Use specific, descriptive keys\nlog.set({ order: { id: 123, status: 'pending' } })\n",[284,1416,1417,1422,1454,1458,1463],{"__ignoreMap":282},[287,1418,1419],{"class":289,"line":290},[287,1420,1421],{"class":293},"\u002F\u002F Avoid generic keys\n",[287,1423,1424,1426,1428,1430,1432,1434,1437,1439,1441,1443,1445,1448,1450,1452],{"class":289,"line":297},[287,1425,560],{"class":300},[287,1427,305],{"class":304},[287,1429,565],{"class":308},[287,1431,312],{"class":300},[287,1433,570],{"class":304},[287,1435,1436],{"class":351}," data",[287,1438,355],{"class":304},[287,1440,348],{"class":304},[287,1442,579],{"class":351},[287,1444,355],{"class":304},[287,1446,1447],{"class":476}," 123",[287,1449,480],{"class":304},[287,1451,480],{"class":304},[287,1453,324],{"class":300},[287,1455,1456],{"class":289,"line":327},[287,1457,555],{"emptyLinePlaceholder":554},[287,1459,1460],{"class":289,"line":371},[287,1461,1462],{"class":293},"\u002F\u002F Use specific, descriptive keys\n",[287,1464,1465,1467,1469,1471,1473,1475,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1499,1501,1503,1505],{"class":289,"line":409},[287,1466,560],{"class":300},[287,1468,305],{"class":304},[287,1470,565],{"class":308},[287,1472,312],{"class":300},[287,1474,570],{"class":304},[287,1476,1477],{"class":351}," order",[287,1479,355],{"class":304},[287,1481,348],{"class":304},[287,1483,579],{"class":351},[287,1485,355],{"class":304},[287,1487,1447],{"class":476},[287,1489,345],{"class":304},[287,1491,692],{"class":351},[287,1493,355],{"class":304},[287,1495,594],{"class":304},[287,1497,1498],{"class":318},"pending",[287,1500,315],{"class":304},[287,1502,480],{"class":304},[287,1504,480],{"class":304},[287,1506,324],{"class":300},[841,1508,1510],{"id":1509},"group-related-data","Group Related Data",[276,1512,1514],{"className":278,"code":1513,"language":281,"meta":282,"style":282},"\u002F\u002F Flat structure is hard to read\nlog.set({\n  userId: 1,\n  userEmail: 'a@b.com',\n  cartId: 2,\n  cartTotal: 100,\n})\n\n\u002F\u002F Grouped structure is clearer\nlog.set({\n  user: { id: 1, email: 'a@b.com' },\n  cart: { id: 2, total: 100 },\n})\n",[284,1515,1516,1521,1533,1543,1559,1571,1583,1589,1593,1598,1610,1641,1665],{"__ignoreMap":282},[287,1517,1518],{"class":289,"line":290},[287,1519,1520],{"class":293},"\u002F\u002F Flat structure is hard to read\n",[287,1522,1523,1525,1527,1529,1531],{"class":289,"line":297},[287,1524,560],{"class":300},[287,1526,305],{"class":304},[287,1528,565],{"class":308},[287,1530,312],{"class":300},[287,1532,865],{"class":304},[287,1534,1535,1537,1539,1541],{"class":289,"line":327},[287,1536,969],{"class":351},[287,1538,355],{"class":304},[287,1540,584],{"class":476},[287,1542,882],{"class":304},[287,1544,1545,1548,1550,1552,1555,1557],{"class":289,"line":371},[287,1546,1547],{"class":351},"  userEmail",[287,1549,355],{"class":304},[287,1551,594],{"class":304},[287,1553,1554],{"class":318},"a@b.com",[287,1556,315],{"class":304},[287,1558,882],{"class":304},[287,1560,1561,1564,1566,1569],{"class":289,"line":409},[287,1562,1563],{"class":351},"  cartId",[287,1565,355],{"class":304},[287,1567,1568],{"class":476}," 2",[287,1570,882],{"class":304},[287,1572,1573,1576,1578,1581],{"class":289,"line":429},[287,1574,1575],{"class":351},"  cartTotal",[287,1577,355],{"class":304},[287,1579,1580],{"class":476}," 100",[287,1582,882],{"class":304},[287,1584,1585,1587],{"class":289,"line":449},[287,1586,366],{"class":304},[287,1588,324],{"class":300},[287,1590,1591],{"class":289,"line":714},[287,1592,555],{"emptyLinePlaceholder":554},[287,1594,1595],{"class":289,"line":1157},[287,1596,1597],{"class":293},"\u002F\u002F Grouped structure is clearer\n",[287,1599,1600,1602,1604,1606,1608],{"class":289,"line":1174},[287,1601,560],{"class":300},[287,1603,305],{"class":304},[287,1605,565],{"class":308},[287,1607,312],{"class":300},[287,1609,865],{"class":304},[287,1611,1612,1615,1617,1619,1621,1623,1625,1627,1630,1632,1634,1636,1638],{"class":289,"line":1192},[287,1613,1614],{"class":351},"  user",[287,1616,355],{"class":304},[287,1618,348],{"class":304},[287,1620,579],{"class":351},[287,1622,355],{"class":304},[287,1624,584],{"class":476},[287,1626,345],{"class":304},[287,1628,1629],{"class":351}," email",[287,1631,355],{"class":304},[287,1633,594],{"class":304},[287,1635,1554],{"class":318},[287,1637,315],{"class":304},[287,1639,1640],{"class":304}," },\n",[287,1642,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663],{"class":289,"line":1197},[287,1644,1067],{"class":351},[287,1646,355],{"class":304},[287,1648,348],{"class":304},[287,1650,579],{"class":351},[287,1652,355],{"class":304},[287,1654,1568],{"class":476},[287,1656,345],{"class":304},[287,1658,645],{"class":351},[287,1660,355],{"class":304},[287,1662,1580],{"class":476},[287,1664,1640],{"class":304},[287,1666,1667,1669],{"class":289,"line":1215},[287,1668,366],{"class":304},[287,1670,324],{"class":300},[841,1672,1674],{"id":1673},"add-context-incrementally","Add Context Incrementally",[264,1676,1677,1678,1681],{},"Call ",[284,1679,1680],{},"log.set()"," as you gather information:",[519,1683,1684,1993],{},[276,1685,1687],{"className":278,"code":1686,"filename":524,"language":281,"meta":282,"style":282},"\u002F\u002F server\u002Fapi\u002Fcheckout.post.ts\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\n  const user = await getUser(event)\n  log.set({ user: { id: user.id, plan: user.plan } })\n\n  const cart = await getCart(user.id)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const payment = await processPayment(cart)\n  log.set({ payment: { method: payment.method, status: payment.status } })\n\n  return { success: true }\n})\n",[284,1688,1689,1693,1725,1744,1748,1768,1815,1819,1843,1893,1897,1917,1965,1969,1986],{"__ignoreMap":282},[287,1690,1691],{"class":289,"line":290},[287,1692,531],{"class":293},[287,1694,1695,1699,1702,1705,1707,1710,1713,1717,1720,1723],{"class":289,"line":297},[287,1696,1698],{"class":1697},"s7zQu","export",[287,1700,1701],{"class":1697}," default",[287,1703,1704],{"class":308}," defineEventHandler",[287,1706,312],{"class":300},[287,1708,1709],{"class":536},"async",[287,1711,1712],{"class":304}," (",[287,1714,1716],{"class":1715},"sHdIc","event",[287,1718,1719],{"class":304},")",[287,1721,1722],{"class":536}," =>",[287,1724,1072],{"class":304},[287,1726,1727,1730,1733,1736,1738,1740,1742],{"class":289,"line":327},[287,1728,1729],{"class":536},"  const",[287,1731,1732],{"class":300}," log",[287,1734,1735],{"class":304}," =",[287,1737,546],{"class":308},[287,1739,312],{"class":351},[287,1741,1716],{"class":300},[287,1743,324],{"class":351},[287,1745,1746],{"class":289,"line":371},[287,1747,555],{"emptyLinePlaceholder":554},[287,1749,1750,1752,1754,1756,1759,1762,1764,1766],{"class":289,"line":409},[287,1751,1729],{"class":536},[287,1753,358],{"class":300},[287,1755,1735],{"class":304},[287,1757,1758],{"class":1697}," await",[287,1760,1761],{"class":308}," getUser",[287,1763,312],{"class":351},[287,1765,1716],{"class":300},[287,1767,324],{"class":351},[287,1769,1770,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813],{"class":289,"line":429},[287,1771,1772],{"class":300},"  log",[287,1774,305],{"class":304},[287,1776,565],{"class":308},[287,1778,312],{"class":351},[287,1780,570],{"class":304},[287,1782,358],{"class":351},[287,1784,355],{"class":304},[287,1786,348],{"class":304},[287,1788,579],{"class":351},[287,1790,355],{"class":304},[287,1792,358],{"class":300},[287,1794,305],{"class":304},[287,1796,978],{"class":300},[287,1798,345],{"class":304},[287,1800,589],{"class":351},[287,1802,355],{"class":304},[287,1804,358],{"class":300},[287,1806,305],{"class":304},[287,1808,1010],{"class":300},[287,1810,480],{"class":304},[287,1812,480],{"class":304},[287,1814,324],{"class":351},[287,1816,1817],{"class":289,"line":449},[287,1818,555],{"emptyLinePlaceholder":554},[287,1820,1821,1823,1825,1827,1829,1832,1834,1837,1839,1841],{"class":289,"line":714},[287,1822,1729],{"class":536},[287,1824,398],{"class":300},[287,1826,1735],{"class":304},[287,1828,1758],{"class":1697},[287,1830,1831],{"class":308}," getCart",[287,1833,312],{"class":351},[287,1835,1836],{"class":300},"user",[287,1838,305],{"class":304},[287,1840,978],{"class":300},[287,1842,324],{"class":351},[287,1844,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891],{"class":289,"line":1157},[287,1846,1772],{"class":300},[287,1848,305],{"class":304},[287,1850,565],{"class":308},[287,1852,312],{"class":351},[287,1854,570],{"class":304},[287,1856,398],{"class":351},[287,1858,355],{"class":304},[287,1860,348],{"class":304},[287,1862,635],{"class":351},[287,1864,355],{"class":304},[287,1866,398],{"class":300},[287,1868,305],{"class":304},[287,1870,1101],{"class":300},[287,1872,305],{"class":304},[287,1874,1106],{"class":300},[287,1876,345],{"class":304},[287,1878,645],{"class":351},[287,1880,355],{"class":304},[287,1882,398],{"class":300},[287,1884,305],{"class":304},[287,1886,1122],{"class":300},[287,1888,480],{"class":304},[287,1890,480],{"class":304},[287,1892,324],{"class":351},[287,1894,1895],{"class":289,"line":1174},[287,1896,555],{"emptyLinePlaceholder":554},[287,1898,1899,1901,1903,1905,1907,1910,1912,1915],{"class":289,"line":1192},[287,1900,1729],{"class":536},[287,1902,671],{"class":300},[287,1904,1735],{"class":304},[287,1906,1758],{"class":1697},[287,1908,1909],{"class":308}," processPayment",[287,1911,312],{"class":351},[287,1913,1914],{"class":300},"cart",[287,1916,324],{"class":351},[287,1918,1919,1921,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1943,1946,1948,1950,1952,1954,1956,1959,1961,1963],{"class":289,"line":1197},[287,1920,1772],{"class":300},[287,1922,305],{"class":304},[287,1924,565],{"class":308},[287,1926,312],{"class":351},[287,1928,570],{"class":304},[287,1930,671],{"class":351},[287,1932,355],{"class":304},[287,1934,348],{"class":304},[287,1936,678],{"class":351},[287,1938,355],{"class":304},[287,1940,671],{"class":300},[287,1942,305],{"class":304},[287,1944,1945],{"class":300},"method",[287,1947,345],{"class":304},[287,1949,692],{"class":351},[287,1951,355],{"class":304},[287,1953,671],{"class":300},[287,1955,305],{"class":304},[287,1957,1958],{"class":300},"status",[287,1960,480],{"class":304},[287,1962,480],{"class":304},[287,1964,324],{"class":351},[287,1966,1967],{"class":289,"line":1215},[287,1968,555],{"emptyLinePlaceholder":554},[287,1970,1972,1975,1977,1980,1982,1984],{"class":289,"line":1971},14,[287,1973,1974],{"class":1697},"  return",[287,1976,348],{"class":304},[287,1978,1979],{"class":351}," success",[287,1981,355],{"class":304},[287,1983,1295],{"class":1294},[287,1985,770],{"class":304},[287,1987,1989,1991],{"class":289,"line":1988},15,[287,1990,366],{"class":304},[287,1992,324],{"class":300},[276,1994,1996],{"className":720,"code":1995,"filename":722,"language":723,"meta":282,"style":282},"[INFO] POST \u002Fapi\u002Fcheckout (456ms)\n  user: { id: 1, plan: 'pro' }\n  cart: { items: 3, total: 9999 }\n  payment: { method: 'card', status: 'success' }\n  status: 200\n",[284,1997,1998,2013,2033,2049,2075],{"__ignoreMap":282},[287,1999,2000,2002,2004,2006,2008,2011],{"class":289,"line":290},[287,2001,730],{"class":304},[287,2003,733],{"class":300},[287,2005,736],{"class":304},[287,2007,739],{"class":300},[287,2009,2010],{"class":742},"456ms",[287,2012,324],{"class":300},[287,2014,2015,2017,2019,2021,2023,2025,2027,2029,2031],{"class":289,"line":297},[287,2016,750],{"class":742},[287,2018,348],{"class":318},[287,2020,755],{"class":318},[287,2022,758],{"class":318},[287,2024,761],{"class":318},[287,2026,594],{"class":304},[287,2028,597],{"class":318},[287,2030,315],{"class":304},[287,2032,770],{"class":318},[287,2034,2035,2037,2039,2041,2043,2045,2047],{"class":289,"line":327},[287,2036,775],{"class":742},[287,2038,348],{"class":318},[287,2040,785],{"class":318},[287,2042,788],{"class":318},[287,2044,791],{"class":318},[287,2046,650],{"class":476},[287,2048,770],{"class":318},[287,2050,2051,2053,2055,2057,2059,2061,2063,2065,2067,2069,2071,2073],{"class":289,"line":371},[287,2052,800],{"class":742},[287,2054,348],{"class":318},[287,2056,805],{"class":318},[287,2058,594],{"class":304},[287,2060,685],{"class":318},[287,2062,315],{"class":304},[287,2064,345],{"class":318},[287,2066,816],{"class":318},[287,2068,594],{"class":304},[287,2070,699],{"class":318},[287,2072,315],{"class":304},[287,2074,770],{"class":318},[287,2076,2077,2079],{"class":289,"line":409},[287,2078,829],{"class":742},[287,2080,832],{"class":476},[841,2082,2084],{"id":2083},"handle-errors-gracefully","Handle Errors Gracefully",[264,2086,2087],{},"When errors occur, the wide event still emits with error context:",[519,2089,2090,2299],{},[276,2091,2093],{"className":278,"code":2092,"filename":524,"language":281,"meta":282,"style":282},"\u002F\u002F server\u002Fapi\u002Fcheckout.post.ts\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\n  try {\n    const result = await processPayment(cart)\n    return result\n  } catch (err) {\n    log.set({\n      error: {\n        message: err.message,\n        code: err.code,\n        type: err.constructor.name,\n      },\n    })\n    throw err\n  }\n})\n",[284,2094,2095,2099,2121,2137,2141,2148,2168,2176,2194,2207,2216,2231,2246,2265,2270,2277,2286,2292],{"__ignoreMap":282},[287,2096,2097],{"class":289,"line":290},[287,2098,531],{"class":293},[287,2100,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119],{"class":289,"line":297},[287,2102,1698],{"class":1697},[287,2104,1701],{"class":1697},[287,2106,1704],{"class":308},[287,2108,312],{"class":300},[287,2110,1709],{"class":536},[287,2112,1712],{"class":304},[287,2114,1716],{"class":1715},[287,2116,1719],{"class":304},[287,2118,1722],{"class":536},[287,2120,1072],{"class":304},[287,2122,2123,2125,2127,2129,2131,2133,2135],{"class":289,"line":327},[287,2124,1729],{"class":536},[287,2126,1732],{"class":300},[287,2128,1735],{"class":304},[287,2130,546],{"class":308},[287,2132,312],{"class":351},[287,2134,1716],{"class":300},[287,2136,324],{"class":351},[287,2138,2139],{"class":289,"line":371},[287,2140,555],{"emptyLinePlaceholder":554},[287,2142,2143,2146],{"class":289,"line":409},[287,2144,2145],{"class":1697},"  try",[287,2147,1072],{"class":304},[287,2149,2150,2153,2156,2158,2160,2162,2164,2166],{"class":289,"line":429},[287,2151,2152],{"class":536},"    const",[287,2154,2155],{"class":300}," result",[287,2157,1735],{"class":304},[287,2159,1758],{"class":1697},[287,2161,1909],{"class":308},[287,2163,312],{"class":351},[287,2165,1914],{"class":300},[287,2167,324],{"class":351},[287,2169,2170,2173],{"class":289,"line":449},[287,2171,2172],{"class":1697},"    return",[287,2174,2175],{"class":300}," result\n",[287,2177,2178,2181,2184,2186,2189,2192],{"class":289,"line":714},[287,2179,2180],{"class":304},"  }",[287,2182,2183],{"class":1697}," catch",[287,2185,1712],{"class":351},[287,2187,2188],{"class":300},"err",[287,2190,2191],{"class":351},") ",[287,2193,865],{"class":304},[287,2195,2196,2199,2201,2203,2205],{"class":289,"line":1157},[287,2197,2198],{"class":300},"    log",[287,2200,305],{"class":304},[287,2202,565],{"class":308},[287,2204,312],{"class":351},[287,2206,865],{"class":304},[287,2208,2209,2212,2214],{"class":289,"line":1174},[287,2210,2211],{"class":351},"      error",[287,2213,355],{"class":304},[287,2215,1072],{"class":304},[287,2217,2218,2221,2223,2225,2227,2229],{"class":289,"line":1192},[287,2219,2220],{"class":351},"        message",[287,2222,355],{"class":304},[287,2224,1351],{"class":300},[287,2226,305],{"class":304},[287,2228,1356],{"class":300},[287,2230,882],{"class":304},[287,2232,2233,2236,2238,2240,2242,2244],{"class":289,"line":1197},[287,2234,2235],{"class":351},"        code",[287,2237,355],{"class":304},[287,2239,1351],{"class":300},[287,2241,305],{"class":304},[287,2243,284],{"class":300},[287,2245,882],{"class":304},[287,2247,2248,2251,2253,2255,2257,2259,2261,2263],{"class":289,"line":1215},[287,2249,2250],{"class":351},"        type",[287,2252,355],{"class":304},[287,2254,1351],{"class":300},[287,2256,305],{"class":304},[287,2258,1387],{"class":300},[287,2260,305],{"class":304},[287,2262,1392],{"class":300},[287,2264,882],{"class":304},[287,2266,2267],{"class":289,"line":1971},[287,2268,2269],{"class":304},"      },\n",[287,2271,2272,2275],{"class":289,"line":1988},[287,2273,2274],{"class":304},"    }",[287,2276,324],{"class":351},[287,2278,2280,2283],{"class":289,"line":2279},16,[287,2281,2282],{"class":1697},"    throw",[287,2284,2285],{"class":300}," err\n",[287,2287,2289],{"class":289,"line":2288},17,[287,2290,2291],{"class":304},"  }\n",[287,2293,2295,2297],{"class":289,"line":2294},18,[287,2296,366],{"class":304},[287,2298,324],{"class":300},[276,2300,2302],{"className":720,"code":2301,"filename":722,"language":723,"meta":282,"style":282},"[ERROR] POST \u002Fapi\u002Fcheckout (123ms)\n  user: { id: 1, plan: 'pro' }\n  cart: { items: 3, total: 9999 }\n  error: {\n    message: 'Card declined',\n    code: 'CARD_DECLINED',\n    type: 'PaymentError'\n  }\n  status: 500\n",[284,2303,2304,2320,2340,2356,2363,2377,2391,2405,2409],{"__ignoreMap":282},[287,2305,2306,2308,2311,2313,2315,2318],{"class":289,"line":290},[287,2307,730],{"class":304},[287,2309,2310],{"class":300},"ERROR",[287,2312,736],{"class":304},[287,2314,739],{"class":300},[287,2316,2317],{"class":742},"123ms",[287,2319,324],{"class":300},[287,2321,2322,2324,2326,2328,2330,2332,2334,2336,2338],{"class":289,"line":297},[287,2323,750],{"class":742},[287,2325,348],{"class":318},[287,2327,755],{"class":318},[287,2329,758],{"class":318},[287,2331,761],{"class":318},[287,2333,594],{"class":304},[287,2335,597],{"class":318},[287,2337,315],{"class":304},[287,2339,770],{"class":318},[287,2341,2342,2344,2346,2348,2350,2352,2354],{"class":289,"line":327},[287,2343,775],{"class":742},[287,2345,348],{"class":318},[287,2347,785],{"class":318},[287,2349,788],{"class":318},[287,2351,791],{"class":318},[287,2353,650],{"class":476},[287,2355,770],{"class":318},[287,2357,2358,2361],{"class":289,"line":371},[287,2359,2360],{"class":742},"  error:",[287,2362,1072],{"class":318},[287,2364,2365,2368,2370,2373,2375],{"class":289,"line":409},[287,2366,2367],{"class":742},"    message:",[287,2369,594],{"class":304},[287,2371,2372],{"class":318},"Card declined",[287,2374,315],{"class":304},[287,2376,882],{"class":318},[287,2378,2379,2382,2384,2387,2389],{"class":289,"line":429},[287,2380,2381],{"class":742},"    code:",[287,2383,594],{"class":304},[287,2385,2386],{"class":318},"CARD_DECLINED",[287,2388,315],{"class":304},[287,2390,882],{"class":318},[287,2392,2393,2395,2397,2399,2402],{"class":289,"line":449},[287,2394,1378],{"class":308},[287,2396,355],{"class":318},[287,2398,594],{"class":304},[287,2400,2401],{"class":318},"PaymentError",[287,2403,2404],{"class":304},"'\n",[287,2406,2407],{"class":289,"line":714},[287,2408,2291],{"class":300},[287,2410,2411,2413],{"class":289,"line":1157},[287,2412,829],{"class":742},[287,2414,2415],{"class":476}," 500\n",[268,2417,2419],{"id":2418},"output-formats","Output Formats",[264,2421,2422],{},"evlog automatically switches between formats based on environment:",[519,2424,2425,2507],{},[276,2426,2429],{"className":720,"code":2427,"filename":2428,"language":723,"meta":282,"style":282},"[INFO] POST \u002Fapi\u002Fcheckout (234ms)\n  user: { id: 1, plan: 'pro' }\n  cart: { items: 3, total: 9999 }\n  payment: { method: 'card', status: 'success' }\n","Development (Pretty)",[284,2430,2431,2445,2465,2481],{"__ignoreMap":282},[287,2432,2433,2435,2437,2439,2441,2443],{"class":289,"line":290},[287,2434,730],{"class":304},[287,2436,733],{"class":300},[287,2438,736],{"class":304},[287,2440,739],{"class":300},[287,2442,743],{"class":742},[287,2444,324],{"class":300},[287,2446,2447,2449,2451,2453,2455,2457,2459,2461,2463],{"class":289,"line":297},[287,2448,750],{"class":742},[287,2450,348],{"class":318},[287,2452,755],{"class":318},[287,2454,758],{"class":318},[287,2456,761],{"class":318},[287,2458,594],{"class":304},[287,2460,597],{"class":318},[287,2462,315],{"class":304},[287,2464,770],{"class":318},[287,2466,2467,2469,2471,2473,2475,2477,2479],{"class":289,"line":327},[287,2468,775],{"class":742},[287,2470,348],{"class":318},[287,2472,785],{"class":318},[287,2474,788],{"class":318},[287,2476,791],{"class":318},[287,2478,650],{"class":476},[287,2480,770],{"class":318},[287,2482,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501,2503,2505],{"class":289,"line":371},[287,2484,800],{"class":742},[287,2486,348],{"class":318},[287,2488,805],{"class":318},[287,2490,594],{"class":304},[287,2492,685],{"class":318},[287,2494,315],{"class":304},[287,2496,345],{"class":318},[287,2498,816],{"class":318},[287,2500,594],{"class":304},[287,2502,699],{"class":318},[287,2504,315],{"class":304},[287,2506,770],{"class":318},[276,2508,2513],{"className":2509,"code":2510,"filename":2511,"language":2512,"meta":282,"style":282},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"level\": \"info\",\n  \"method\": \"POST\",\n  \"path\": \"\u002Fapi\u002Fcheckout\",\n  \"duration\": 234,\n  \"user\": { \"id\": 1, \"plan\": \"pro\" },\n  \"cart\": { \"items\": 3, \"total\": 9999 },\n  \"payment\": { \"method\": \"card\", \"status\": \"success\" }\n}\n","Production (JSON)","json",[284,2514,2515,2519,2541,2559,2578,2593,2633,2669,2714],{"__ignoreMap":282},[287,2516,2517],{"class":289,"line":290},[287,2518,865],{"class":304},[287,2520,2521,2524,2527,2530,2532,2535,2537,2539],{"class":289,"line":297},[287,2522,2523],{"class":304},"  \"",[287,2525,2526],{"class":536},"level",[287,2528,2529],{"class":304},"\"",[287,2531,355],{"class":304},[287,2533,2534],{"class":304}," \"",[287,2536,309],{"class":318},[287,2538,2529],{"class":304},[287,2540,882],{"class":304},[287,2542,2543,2545,2547,2549,2551,2553,2555,2557],{"class":289,"line":327},[287,2544,2523],{"class":304},[287,2546,1945],{"class":536},[287,2548,2529],{"class":304},[287,2550,355],{"class":304},[287,2552,2534],{"class":304},[287,2554,877],{"class":318},[287,2556,2529],{"class":304},[287,2558,882],{"class":304},[287,2560,2561,2563,2566,2568,2570,2572,2574,2576],{"class":289,"line":371},[287,2562,2523],{"class":304},[287,2564,2565],{"class":536},"path",[287,2567,2529],{"class":304},[287,2569,355],{"class":304},[287,2571,2534],{"class":304},[287,2573,894],{"class":318},[287,2575,2529],{"class":304},[287,2577,882],{"class":304},[287,2579,2580,2582,2585,2587,2589,2591],{"class":289,"line":409},[287,2581,2523],{"class":304},[287,2583,2584],{"class":536},"duration",[287,2586,2529],{"class":304},[287,2588,355],{"class":304},[287,2590,477],{"class":476},[287,2592,882],{"class":304},[287,2594,2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,2627,2629,2631],{"class":289,"line":429},[287,2596,2523],{"class":304},[287,2598,1836],{"class":536},[287,2600,2529],{"class":304},[287,2602,355],{"class":304},[287,2604,348],{"class":304},[287,2606,2534],{"class":304},[287,2608,978],{"class":742},[287,2610,2529],{"class":304},[287,2612,355],{"class":304},[287,2614,584],{"class":476},[287,2616,345],{"class":304},[287,2618,2534],{"class":304},[287,2620,1010],{"class":742},[287,2622,2529],{"class":304},[287,2624,355],{"class":304},[287,2626,2534],{"class":304},[287,2628,597],{"class":318},[287,2630,2529],{"class":304},[287,2632,1640],{"class":304},[287,2634,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667],{"class":289,"line":449},[287,2636,2523],{"class":304},[287,2638,1914],{"class":536},[287,2640,2529],{"class":304},[287,2642,355],{"class":304},[287,2644,348],{"class":304},[287,2646,2534],{"class":304},[287,2648,1101],{"class":742},[287,2650,2529],{"class":304},[287,2652,355],{"class":304},[287,2654,640],{"class":476},[287,2656,345],{"class":304},[287,2658,2534],{"class":304},[287,2660,1122],{"class":742},[287,2662,2529],{"class":304},[287,2664,355],{"class":304},[287,2666,650],{"class":476},[287,2668,1640],{"class":304},[287,2670,2671,2673,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706,2708,2710,2712],{"class":289,"line":714},[287,2672,2523],{"class":304},[287,2674,2675],{"class":536},"payment",[287,2677,2529],{"class":304},[287,2679,355],{"class":304},[287,2681,348],{"class":304},[287,2683,2534],{"class":304},[287,2685,1945],{"class":742},[287,2687,2529],{"class":304},[287,2689,355],{"class":304},[287,2691,2534],{"class":304},[287,2693,685],{"class":318},[287,2695,2529],{"class":304},[287,2697,345],{"class":304},[287,2699,2534],{"class":304},[287,2701,1958],{"class":742},[287,2703,2529],{"class":304},[287,2705,355],{"class":304},[287,2707,2534],{"class":304},[287,2709,699],{"class":318},[287,2711,2529],{"class":304},[287,2713,770],{"class":304},[287,2715,2716],{"class":289,"line":1157},[287,2717,2718],{"class":304},"}\n",[268,2720,2722],{"id":2721},"next-steps","Next Steps",[487,2724,2725,2731],{},[490,2726,2727,2730],{},[2728,2729,151],"a",{"href":152}," - Add compile-time type safety to your wide events",[490,2732,2733,2735],{},[2728,2734,141],{"href":142}," - Learn how to create errors with actionable context",[2737,2738,2739],"style",{},"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .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}",{"title":282,"searchDepth":297,"depth":297,"links":2741},[2742,2743,2749,2755,2756],{"id":270,"depth":297,"text":271},{"id":835,"depth":297,"text":836,"children":2744},[2745,2746,2747,2748],{"id":843,"depth":327,"text":844},{"id":943,"depth":327,"text":944},{"id":1041,"depth":327,"text":1042},{"id":1222,"depth":327,"text":1223},{"id":1407,"depth":297,"text":146,"children":2750},[2751,2752,2753,2754],{"id":1410,"depth":327,"text":1411},{"id":1509,"depth":327,"text":1510},{"id":1673,"depth":327,"text":1674},{"id":2083,"depth":327,"text":2084},{"id":2418,"depth":297,"text":2419},{"id":2721,"depth":297,"text":2722},"Learn how to design effective wide events that capture everything you need in a single log. One comprehensive event per request with full context.","md",[2760,2763],{"label":141,"icon":144,"to":142,"color":2761,"variant":2762},"neutral","subtle",{"label":146,"icon":149,"to":147,"color":2761,"variant":2762},{},{"icon":129},{"title":126,"description":2757},"41h2y23nte7zg05rlIoM7lBk4dO49RbOwIi_9s2klHk",[2769,2771],{"title":121,"path":122,"stem":123,"description":2770,"icon":124,"children":-1},"Understand the full lifecycle of a request in evlog, from creation to drain. Every step from logger creation, context accumulation, sampling, enrichment, to external delivery.",{"title":131,"path":132,"stem":133,"description":2772,"icon":134,"children":-1},"Build-time optimizations for any Vite-based framework — auto-init, debug stripping, source location injection, and optional auto-imports.",1774107139692]