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