[{"data":1,"prerenderedAt":1223},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-introduction":228,"-getting-started-introduction-surround":1219},[4,30,110,149,198,214],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Frameworks","\u002Fframeworks","2.frameworks",[35,40,45,50,55,60,65,70,75,80,85,90,95,100,105],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Fframeworks\u002Foverview","2.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":41,"path":42,"stem":43,"icon":44},"Nuxt","\u002Fframeworks\u002Fnuxt","2.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":46,"path":47,"stem":48,"icon":49},"Next.js","\u002Fframeworks\u002Fnextjs","2.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":51,"path":52,"stem":53,"icon":54},"SvelteKit","\u002Fframeworks\u002Fsveltekit","2.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":56,"path":57,"stem":58,"icon":59},"Nitro","\u002Fframeworks\u002Fnitro","2.frameworks\u002F04.nitro","i-custom-nitro",{"title":61,"path":62,"stem":63,"icon":64},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","2.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":66,"path":67,"stem":68,"icon":69},"NestJS","\u002Fframeworks\u002Fnestjs","2.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":71,"path":72,"stem":73,"icon":74},"Express","\u002Fframeworks\u002Fexpress","2.frameworks\u002F07.express","i-simple-icons-express",{"title":76,"path":77,"stem":78,"icon":79},"Hono","\u002Fframeworks\u002Fhono","2.frameworks\u002F08.hono","i-simple-icons-hono",{"title":81,"path":82,"stem":83,"icon":84},"Fastify","\u002Fframeworks\u002Ffastify","2.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":86,"path":87,"stem":88,"icon":89},"Elysia","\u002Fframeworks\u002Felysia","2.frameworks\u002F10.elysia","i-custom-elysia",{"title":91,"path":92,"stem":93,"icon":94},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","2.frameworks\u002F11.cloudflare-workers","i-simple-icons-cloudflare",{"title":96,"path":97,"stem":98,"icon":99},"Standalone","\u002Fframeworks\u002Fstandalone","2.frameworks\u002F12.standalone","i-simple-icons-typescript",{"title":101,"path":102,"stem":103,"icon":104},"Astro","\u002Fframeworks\u002Fastro","2.frameworks\u002F13.astro","i-simple-icons-astro",{"title":106,"path":107,"stem":108,"icon":109},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","2.frameworks\u002F14.custom-integration","i-lucide-puzzle",{"title":111,"path":112,"stem":113,"children":114,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[115,120,125,130,135,139,144],{"title":116,"path":117,"stem":118,"icon":119},"Request Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":121,"path":122,"stem":123,"icon":124},"Wide Events","\u002Fcore-concepts\u002Fwide-events","3.core-concepts\u002F1.wide-events","i-lucide-layers",{"title":126,"path":127,"stem":128,"icon":129},"Structured Errors","\u002Fcore-concepts\u002Fstructured-errors","3.core-concepts\u002F2.structured-errors","i-lucide-shield-alert",{"title":131,"path":132,"stem":133,"icon":134},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F3.best-practices","i-lucide-shield-check",{"title":136,"path":137,"stem":138,"icon":99},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F4.typed-fields",{"title":140,"path":141,"stem":142,"icon":143},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F5.sampling","i-lucide-filter",{"title":145,"path":146,"stem":147,"icon":148},"Client Logging","\u002Fcore-concepts\u002Fclient-logging","3.core-concepts\u002F6.client-logging","i-lucide-monitor",{"title":150,"path":151,"stem":152,"children":153,"page":29},"Adapters","\u002Fadapters","4.adapters",[154,158,163,168,173,178,183,188,193],{"title":36,"path":155,"stem":156,"icon":157},"\u002Fadapters\u002Foverview","4.adapters\u002F1.overview","i-custom-plug",{"title":159,"path":160,"stem":161,"icon":162},"Axiom","\u002Fadapters\u002Faxiom","4.adapters\u002F2.axiom","i-custom-axiom",{"title":164,"path":165,"stem":166,"icon":167},"OTLP","\u002Fadapters\u002Fotlp","4.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":169,"path":170,"stem":171,"icon":172},"PostHog","\u002Fadapters\u002Fposthog","4.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":174,"path":175,"stem":176,"icon":177},"Sentry","\u002Fadapters\u002Fsentry","4.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":179,"path":180,"stem":181,"icon":182},"Better Stack","\u002Fadapters\u002Fbetter-stack","4.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":184,"path":185,"stem":186,"icon":187},"Custom Adapters","\u002Fadapters\u002Fcustom","4.adapters\u002F7.custom","i-lucide-code",{"title":189,"path":190,"stem":191,"icon":192},"Pipeline","\u002Fadapters\u002Fpipeline","4.adapters\u002F8.pipeline","i-lucide-workflow",{"title":194,"path":195,"stem":196,"icon":197},"Browser","\u002Fadapters\u002Fbrowser","4.adapters\u002F9.browser","i-lucide-globe",{"title":199,"path":200,"stem":201,"children":202,"page":29},"Enrichers","\u002Fenrichers","5.enrichers",[203,206,210],{"title":36,"path":204,"stem":205,"icon":28},"\u002Fenrichers\u002Foverview","5.enrichers\u002F1.overview",{"title":207,"path":208,"stem":209,"icon":109},"Built-in","\u002Fenrichers\u002Fbuilt-in","5.enrichers\u002F2.built-in",{"title":211,"path":212,"stem":213,"icon":187},"Custom","\u002Fenrichers\u002Fcustom","5.enrichers\u002F3.custom",{"title":215,"path":216,"stem":217,"children":218,"page":29},"NuxtHub","\u002Fnuxthub","6.nuxthub",[219,223],{"title":36,"path":220,"stem":221,"icon":222},"\u002Fnuxthub\u002Foverview","6.nuxthub\u002F1.overview","i-lucide-database",{"title":224,"path":225,"stem":226,"icon":227},"Retention","\u002Fnuxthub\u002Fretention","6.nuxthub\u002F2.retention","i-lucide-clock",{"id":229,"title":10,"body":230,"description":1204,"extension":1205,"links":1206,"meta":1215,"navigation":1216,"path":11,"seo":1217,"stem":12,"__hash__":1218},"docs\u002F1.getting-started\u002F1.introduction.md",{"type":231,"value":232,"toc":1197},"minimark",[233,241,258,263,266,271,291,295,298,482,485,817,820,823,826,853,856,1118,1130,1134,1141,1166,1177,1181,1193],[234,235,236,240],"p",{},[237,238,239],"strong",{},"evlog"," is a TypeScript logging library that replaces scattered log lines with comprehensive wide events and structured errors.",[234,242,243,244,251,252,257],{},"Inspired by ",[245,246,250],"a",{"href":247,"rel":248},"https:\u002F\u002Floggingsucks.com\u002F",[249],"nofollow","Logging Sucks"," by ",[245,253,256],{"href":254,"rel":255},"https:\u002F\u002Fx.com\u002Fboristane",[249],"Boris Tane",".",[259,260,262],"h2",{"id":261},"philosophy","Philosophy",[234,264,265],{},"Traditional logging is broken. Your logs are scattered across dozens of files. Each request generates 10+ log lines. When something goes wrong, you're left grep-ing through noise hoping to find signal.",[234,267,268,270],{},[237,269,239],{}," takes a different approach:",[272,273,274,278,281,286],"card-group",{},[275,276,277],"card",{"icon":124,"title":121},"One comprehensive log event per request, containing all the context you need.",[275,279,280],{"icon":129,"title":126},"Errors that explain why they occurred and how to fix them.",[275,282,285],{"icon":283,"title":284},"i-lucide-git-branch","Request Scoping","Accumulate context throughout the request lifecycle, emit once at the end.",[275,287,290],{"icon":288,"title":289},"i-lucide-palette","Pretty for Dev","Human-readable in development, machine-parseable JSON in production.",[259,292,294],{"id":293},"what-are-wide-events","What are Wide Events?",[234,296,297],{},"Instead of scattering logs throughout your code:",[299,300,306],"pre",{"className":301,"code":302,"filename":303,"language":304,"meta":305,"style":305},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","logger.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')\n","Traditional logging","typescript","",[307,308,309,340,384,422,442,462],"code",{"__ignoreMap":305},[310,311,314,318,321,325,328,331,335,337],"span",{"class":312,"line":313},"line",1,[310,315,317],{"class":316},"sTEyZ","logger",[310,319,257],{"class":320},"sMK4o",[310,322,324],{"class":323},"s2Zo4","info",[310,326,327],{"class":316},"(",[310,329,330],{"class":320},"'",[310,332,334],{"class":333},"sfazB","Request started",[310,336,330],{"class":320},[310,338,339],{"class":316},")\n",[310,341,343,345,347,349,351,353,356,358,361,364,368,371,374,376,379,382],{"class":312,"line":342},2,[310,344,317],{"class":316},[310,346,257],{"class":320},[310,348,324],{"class":323},[310,350,327],{"class":316},[310,352,330],{"class":320},[310,354,355],{"class":333},"User authenticated",[310,357,330],{"class":320},[310,359,360],{"class":320},",",[310,362,363],{"class":320}," {",[310,365,367],{"class":366},"swJcz"," userId",[310,369,370],{"class":320},":",[310,372,373],{"class":316}," user",[310,375,257],{"class":320},[310,377,378],{"class":316},"id ",[310,380,381],{"class":320},"}",[310,383,339],{"class":316},[310,385,387,389,391,393,395,397,400,402,404,406,409,411,414,416,418,420],{"class":312,"line":386},3,[310,388,317],{"class":316},[310,390,257],{"class":320},[310,392,324],{"class":323},[310,394,327],{"class":316},[310,396,330],{"class":320},[310,398,399],{"class":333},"Fetching cart",[310,401,330],{"class":320},[310,403,360],{"class":320},[310,405,363],{"class":320},[310,407,408],{"class":366}," cartId",[310,410,370],{"class":320},[310,412,413],{"class":316}," cart",[310,415,257],{"class":320},[310,417,378],{"class":316},[310,419,381],{"class":320},[310,421,339],{"class":316},[310,423,425,427,429,431,433,435,438,440],{"class":312,"line":424},4,[310,426,317],{"class":316},[310,428,257],{"class":320},[310,430,324],{"class":323},[310,432,327],{"class":316},[310,434,330],{"class":320},[310,436,437],{"class":333},"Processing payment",[310,439,330],{"class":320},[310,441,339],{"class":316},[310,443,445,447,449,451,453,455,458,460],{"class":312,"line":444},5,[310,446,317],{"class":316},[310,448,257],{"class":320},[310,450,324],{"class":323},[310,452,327],{"class":316},[310,454,330],{"class":320},[310,456,457],{"class":333},"Payment successful",[310,459,330],{"class":320},[310,461,339],{"class":316},[310,463,465,467,469,471,473,475,478,480],{"class":312,"line":464},6,[310,466,317],{"class":316},[310,468,257],{"class":320},[310,470,324],{"class":323},[310,472,327],{"class":316},[310,474,330],{"class":320},[310,476,477],{"class":333},"Request completed",[310,479,330],{"class":320},[310,481,339],{"class":316},[234,483,484],{},"You accumulate context and emit once:",[486,487,488,703],"code-group",{},[299,489,492],{"className":301,"code":490,"filename":491,"language":304,"meta":305,"style":305},"\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\nreturn { success: true }\n","Code",[307,493,494,500,518,524,576,627,677,682],{"__ignoreMap":305},[310,495,496],{"class":312,"line":313},[310,497,499],{"class":498},"sHwdD","\u002F\u002F server\u002Fapi\u002Fcheckout.post.ts\n",[310,501,502,506,509,512,515],{"class":312,"line":342},[310,503,505],{"class":504},"spNyl","const",[310,507,508],{"class":316}," log ",[310,510,511],{"class":320},"=",[310,513,514],{"class":323}," useLogger",[310,516,517],{"class":316},"(event)\n",[310,519,520],{"class":312,"line":386},[310,521,523],{"emptyLinePlaceholder":522},true,"\n",[310,525,526,529,531,534,536,539,541,543,545,548,550,554,556,559,561,564,567,569,572,574],{"class":312,"line":424},[310,527,528],{"class":316},"log",[310,530,257],{"class":320},[310,532,533],{"class":323},"set",[310,535,327],{"class":316},[310,537,538],{"class":320},"{",[310,540,373],{"class":366},[310,542,370],{"class":320},[310,544,363],{"class":320},[310,546,547],{"class":366}," id",[310,549,370],{"class":320},[310,551,553],{"class":552},"sbssI"," 1",[310,555,360],{"class":320},[310,557,558],{"class":366}," plan",[310,560,370],{"class":320},[310,562,563],{"class":320}," '",[310,565,566],{"class":333},"pro",[310,568,330],{"class":320},[310,570,571],{"class":320}," }",[310,573,571],{"class":320},[310,575,339],{"class":316},[310,577,578,580,582,584,586,588,590,592,594,596,598,601,603,606,608,611,613,616,618,621,623,625],{"class":312,"line":444},[310,579,528],{"class":316},[310,581,257],{"class":320},[310,583,533],{"class":323},[310,585,327],{"class":316},[310,587,538],{"class":320},[310,589,413],{"class":366},[310,591,370],{"class":320},[310,593,363],{"class":320},[310,595,547],{"class":366},[310,597,370],{"class":320},[310,599,600],{"class":552}," 42",[310,602,360],{"class":320},[310,604,605],{"class":366}," items",[310,607,370],{"class":320},[310,609,610],{"class":552}," 3",[310,612,360],{"class":320},[310,614,615],{"class":366}," total",[310,617,370],{"class":320},[310,619,620],{"class":552}," 9999",[310,622,571],{"class":320},[310,624,571],{"class":320},[310,626,339],{"class":316},[310,628,629,631,633,635,637,639,642,644,646,649,651,653,655,657,659,662,664,666,669,671,673,675],{"class":312,"line":464},[310,630,528],{"class":316},[310,632,257],{"class":320},[310,634,533],{"class":323},[310,636,327],{"class":316},[310,638,538],{"class":320},[310,640,641],{"class":366}," payment",[310,643,370],{"class":320},[310,645,363],{"class":320},[310,647,648],{"class":366}," method",[310,650,370],{"class":320},[310,652,563],{"class":320},[310,654,275],{"class":333},[310,656,330],{"class":320},[310,658,360],{"class":320},[310,660,661],{"class":366}," status",[310,663,370],{"class":320},[310,665,563],{"class":320},[310,667,668],{"class":333},"success",[310,670,330],{"class":320},[310,672,571],{"class":320},[310,674,571],{"class":320},[310,676,339],{"class":316},[310,678,680],{"class":312,"line":679},7,[310,681,523],{"emptyLinePlaceholder":522},[310,683,685,689,691,694,696,700],{"class":312,"line":684},8,[310,686,688],{"class":687},"s7zQu","return",[310,690,363],{"class":320},[310,692,693],{"class":366}," success",[310,695,370],{"class":320},[310,697,699],{"class":698},"sfNiH"," true",[310,701,702],{"class":320}," }\n",[299,704,709],{"className":705,"code":706,"filename":707,"language":708,"meta":305,"style":305},"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",[307,710,711,731,755,780,809],{"__ignoreMap":305},[310,712,713,716,719,722,725,729],{"class":312,"line":313},[310,714,715],{"class":320},"[",[310,717,718],{"class":316},"INFO",[310,720,721],{"class":320},"]",[310,723,724],{"class":316}," POST \u002Fapi\u002Fcheckout (",[310,726,728],{"class":727},"sBMFI","234ms",[310,730,339],{"class":316},[310,732,733,736,738,741,744,747,749,751,753],{"class":312,"line":342},[310,734,735],{"class":727},"  user:",[310,737,363],{"class":333},[310,739,740],{"class":333}," id:",[310,742,743],{"class":333}," 1,",[310,745,746],{"class":333}," plan:",[310,748,563],{"class":320},[310,750,566],{"class":333},[310,752,330],{"class":320},[310,754,702],{"class":333},[310,756,757,760,762,764,767,770,773,776,778],{"class":312,"line":386},[310,758,759],{"class":727},"  cart:",[310,761,363],{"class":333},[310,763,740],{"class":333},[310,765,766],{"class":333}," 42,",[310,768,769],{"class":333}," items:",[310,771,772],{"class":333}," 3,",[310,774,775],{"class":333}," total:",[310,777,620],{"class":552},[310,779,702],{"class":333},[310,781,782,785,787,790,792,794,796,798,801,803,805,807],{"class":312,"line":424},[310,783,784],{"class":727},"  payment:",[310,786,363],{"class":333},[310,788,789],{"class":333}," method:",[310,791,563],{"class":320},[310,793,275],{"class":333},[310,795,330],{"class":320},[310,797,360],{"class":333},[310,799,800],{"class":333}," status:",[310,802,563],{"class":320},[310,804,668],{"class":333},[310,806,330],{"class":320},[310,808,702],{"class":333},[310,810,811,814],{"class":312,"line":444},[310,812,813],{"class":727},"  status:",[310,815,816],{"class":552}," 200\n",[234,818,819],{},"One log, all context. Everything you need to understand what happened during that request.",[259,821,126],{"id":822},"structured-errors",[234,824,825],{},"Traditional errors are opaque:",[299,827,829],{"className":301,"code":828,"language":304,"meta":305,"style":305},"throw new Error('Payment failed')\n",[307,830,831],{"__ignoreMap":305},[310,832,833,836,839,842,844,846,849,851],{"class":312,"line":313},[310,834,835],{"class":687},"throw",[310,837,838],{"class":320}," new",[310,840,841],{"class":323}," Error",[310,843,327],{"class":316},[310,845,330],{"class":320},[310,847,848],{"class":333},"Payment failed",[310,850,330],{"class":320},[310,852,339],{"class":316},[234,854,855],{},"Structured errors provide actionable context:",[486,857,858,988],{},[299,859,861],{"className":301,"code":860,"filename":491,"language":304,"meta":305,"style":305},"\u002F\u002F server\u002Fapi\u002Fcheckout.post.ts\nimport { createError } from 'evlog'\n\nthrow createError({\n  message: 'Payment failed',\n  status: 402,\n  why: 'Card declined by issuer (insufficient funds)',\n  fix: 'Try a different payment method or contact your bank',\n  link: 'https:\u002F\u002Fdocs.example.com\u002Fpayments\u002Fdeclined',\n})\n",[307,862,863,867,889,893,904,920,932,948,964,981],{"__ignoreMap":305},[310,864,865],{"class":312,"line":313},[310,866,499],{"class":498},[310,868,869,872,874,877,879,882,884,886],{"class":312,"line":342},[310,870,871],{"class":687},"import",[310,873,363],{"class":320},[310,875,876],{"class":316}," createError",[310,878,571],{"class":320},[310,880,881],{"class":687}," from",[310,883,563],{"class":320},[310,885,239],{"class":333},[310,887,888],{"class":320},"'\n",[310,890,891],{"class":312,"line":386},[310,892,523],{"emptyLinePlaceholder":522},[310,894,895,897,899,901],{"class":312,"line":424},[310,896,835],{"class":687},[310,898,876],{"class":323},[310,900,327],{"class":316},[310,902,903],{"class":320},"{\n",[310,905,906,909,911,913,915,917],{"class":312,"line":444},[310,907,908],{"class":366},"  message",[310,910,370],{"class":320},[310,912,563],{"class":320},[310,914,848],{"class":333},[310,916,330],{"class":320},[310,918,919],{"class":320},",\n",[310,921,922,925,927,930],{"class":312,"line":464},[310,923,924],{"class":366},"  status",[310,926,370],{"class":320},[310,928,929],{"class":552}," 402",[310,931,919],{"class":320},[310,933,934,937,939,941,944,946],{"class":312,"line":679},[310,935,936],{"class":366},"  why",[310,938,370],{"class":320},[310,940,563],{"class":320},[310,942,943],{"class":333},"Card declined by issuer (insufficient funds)",[310,945,330],{"class":320},[310,947,919],{"class":320},[310,949,950,953,955,957,960,962],{"class":312,"line":684},[310,951,952],{"class":366},"  fix",[310,954,370],{"class":320},[310,956,563],{"class":320},[310,958,959],{"class":333},"Try a different payment method or contact your bank",[310,961,330],{"class":320},[310,963,919],{"class":320},[310,965,967,970,972,974,977,979],{"class":312,"line":966},9,[310,968,969],{"class":366},"  link",[310,971,370],{"class":320},[310,973,563],{"class":320},[310,975,976],{"class":333},"https:\u002F\u002Fdocs.example.com\u002Fpayments\u002Fdeclined",[310,978,330],{"class":320},[310,980,919],{"class":320},[310,982,984,986],{"class":312,"line":983},10,[310,985,381],{"class":320},[310,987,339],{"class":316},[299,989,994],{"className":990,"code":991,"filename":992,"language":993,"meta":305,"style":305},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"statusCode\": 402,\n  \"message\": \"Payment failed\",\n  \"data\": {\n    \"why\": \"Card declined by issuer (insufficient funds)\",\n    \"fix\": \"Try a different payment method or contact your bank\",\n    \"link\": \"https:\u002F\u002Fdocs.example.com\u002Fpayments\u002Fdeclined\"\n  }\n}\n","Response","json",[307,995,996,1000,1017,1037,1051,1071,1090,1108,1113],{"__ignoreMap":305},[310,997,998],{"class":312,"line":313},[310,999,903],{"class":320},[310,1001,1002,1005,1008,1011,1013,1015],{"class":312,"line":342},[310,1003,1004],{"class":320},"  \"",[310,1006,1007],{"class":504},"statusCode",[310,1009,1010],{"class":320},"\"",[310,1012,370],{"class":320},[310,1014,929],{"class":552},[310,1016,919],{"class":320},[310,1018,1019,1021,1024,1026,1028,1031,1033,1035],{"class":312,"line":386},[310,1020,1004],{"class":320},[310,1022,1023],{"class":504},"message",[310,1025,1010],{"class":320},[310,1027,370],{"class":320},[310,1029,1030],{"class":320}," \"",[310,1032,848],{"class":333},[310,1034,1010],{"class":320},[310,1036,919],{"class":320},[310,1038,1039,1041,1044,1046,1048],{"class":312,"line":424},[310,1040,1004],{"class":320},[310,1042,1043],{"class":504},"data",[310,1045,1010],{"class":320},[310,1047,370],{"class":320},[310,1049,1050],{"class":320}," {\n",[310,1052,1053,1056,1059,1061,1063,1065,1067,1069],{"class":312,"line":444},[310,1054,1055],{"class":320},"    \"",[310,1057,1058],{"class":727},"why",[310,1060,1010],{"class":320},[310,1062,370],{"class":320},[310,1064,1030],{"class":320},[310,1066,943],{"class":333},[310,1068,1010],{"class":320},[310,1070,919],{"class":320},[310,1072,1073,1075,1078,1080,1082,1084,1086,1088],{"class":312,"line":464},[310,1074,1055],{"class":320},[310,1076,1077],{"class":727},"fix",[310,1079,1010],{"class":320},[310,1081,370],{"class":320},[310,1083,1030],{"class":320},[310,1085,959],{"class":333},[310,1087,1010],{"class":320},[310,1089,919],{"class":320},[310,1091,1092,1094,1097,1099,1101,1103,1105],{"class":312,"line":679},[310,1093,1055],{"class":320},[310,1095,1096],{"class":727},"link",[310,1098,1010],{"class":320},[310,1100,370],{"class":320},[310,1102,1030],{"class":320},[310,1104,976],{"class":333},[310,1106,1107],{"class":320},"\"\n",[310,1109,1110],{"class":312,"line":684},[310,1111,1112],{"class":320},"  }\n",[310,1114,1115],{"class":312,"line":966},[310,1116,1117],{"class":320},"}\n",[234,1119,1120,1121,1123,1124,1126,1127,1129],{},"With ",[307,1122,1058],{},", ",[307,1125,1077],{},", and ",[307,1128,1096],{}," fields, anyone debugging—human or AI—can immediately understand the root cause and how to resolve it.",[259,1131,1133],{"id":1132},"why-context-matters","Why Context Matters",[234,1135,1136,1137,1140],{},"We're entering an era where AI agents build, debug, and maintain applications. These agents need ",[237,1138,1139],{},"structured context"," to work effectively:",[1142,1143,1144,1152,1159],"ul",{},[1145,1146,1147,1151],"li",{},[237,1148,1149],{},[307,1150,1058],{},": The root cause, so the agent understands what went wrong",[1145,1153,1154,1158],{},[237,1155,1156],{},[307,1157,1077],{},": An actionable solution the agent can suggest or apply",[1145,1160,1161,1165],{},[237,1162,1163],{},[307,1164,1096],{},": Documentation for complex issues",[234,1167,1168,1169,1172,1173,1176],{},"Traditional ",[307,1170,1171],{},"console.log"," and generic ",[307,1174,1175],{},"throw new Error()"," provide no actionable context. evlog's structured output is designed for both humans and AI to parse and act on.",[259,1178,1180],{"id":1179},"next-steps","Next Steps",[1142,1182,1183,1188],{},[1145,1184,1185,1187],{},[245,1186,15],{"href":16}," - Install evlog in your project",[1145,1189,1190,1192],{},[245,1191,20],{"href":21}," - Get up and running in minutes",[1194,1195,1196],"style",{},"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 .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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":305,"searchDepth":342,"depth":342,"links":1198},[1199,1200,1201,1202,1203],{"id":261,"depth":342,"text":262},{"id":293,"depth":342,"text":294},{"id":822,"depth":342,"text":126},{"id":1132,"depth":342,"text":1133},{"id":1179,"depth":342,"text":1180},"A TypeScript logging library focused on wide events and structured error handling. Replace scattered logs with one comprehensive event per request.","md",[1207,1210],{"label":20,"icon":23,"to":21,"color":1208,"variant":1209},"neutral","subtle",{"label":1211,"icon":1212,"to":1213,"target":1214,"color":1208,"variant":1209},"GitHub","i-simple-icons-github","https:\u002F\u002Fgithub.com\u002Fhugorcd\u002Fevlog","_blank",{},{"icon":13},{"title":10,"description":1204},"VIdMJqJV43IuKlDKi1qur1YXTigLJfkYLtUqo4SJnRQ",[1220,1221],null,{"title":15,"path":16,"stem":17,"description":1222,"icon":18,"children":-1},"Install evlog in your TypeScript project.",1773428024924]