[{"data":1,"prerenderedAt":1258},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-introduction":263,"-getting-started-introduction-surround":1254},[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":10,"body":265,"description":1239,"extension":1240,"links":1241,"meta":1250,"navigation":1251,"path":11,"seo":1252,"stem":12,"__hash__":1253},"docs\u002F1.getting-started\u002F1.introduction.md",{"type":266,"value":267,"toc":1232},"minimark",[268,276,293,298,301,306,326,330,333,517,520,852,855,858,861,888,891,1153,1165,1169,1176,1201,1212,1216,1228],[269,270,271,275],"p",{},[272,273,274],"strong",{},"evlog"," is a TypeScript logging library that replaces scattered log lines with comprehensive wide events and structured errors.",[269,277,278,279,286,287,292],{},"Inspired by ",[280,281,285],"a",{"href":282,"rel":283},"https:\u002F\u002Floggingsucks.com\u002F",[284],"nofollow","Logging Sucks"," by ",[280,288,291],{"href":289,"rel":290},"https:\u002F\u002Fx.com\u002Fboristane",[284],"Boris Tane",".",[294,295,297],"h2",{"id":296},"philosophy","Philosophy",[269,299,300],{},"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.",[269,302,303,305],{},[272,304,274],{}," takes a different approach:",[307,308,309,313,316,321],"card-group",{},[310,311,312],"card",{"icon":129,"title":126},"One comprehensive log event per request, containing all the context you need.",[310,314,315],{"icon":144,"title":141},"Errors that explain why they occurred and how to fix them.",[310,317,320],{"icon":318,"title":319},"i-lucide-git-branch","Request Scoping","Accumulate context throughout the request lifecycle, emit once at the end.",[310,322,325],{"icon":323,"title":324},"i-lucide-palette","Pretty for Dev","Human-readable in development, machine-parseable JSON in production.",[294,327,329],{"id":328},"what-are-wide-events","What are Wide Events?",[269,331,332],{},"Instead of scattering logs throughout your code:",[334,335,341],"pre",{"className":336,"code":337,"filename":338,"language":339,"meta":340,"style":340},"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","",[342,343,344,375,419,457,477,497],"code",{"__ignoreMap":340},[345,346,349,353,356,360,363,366,370,372],"span",{"class":347,"line":348},"line",1,[345,350,352],{"class":351},"sTEyZ","logger",[345,354,292],{"class":355},"sMK4o",[345,357,359],{"class":358},"s2Zo4","info",[345,361,362],{"class":351},"(",[345,364,365],{"class":355},"'",[345,367,369],{"class":368},"sfazB","Request started",[345,371,365],{"class":355},[345,373,374],{"class":351},")\n",[345,376,378,380,382,384,386,388,391,393,396,399,403,406,409,411,414,417],{"class":347,"line":377},2,[345,379,352],{"class":351},[345,381,292],{"class":355},[345,383,359],{"class":358},[345,385,362],{"class":351},[345,387,365],{"class":355},[345,389,390],{"class":368},"User authenticated",[345,392,365],{"class":355},[345,394,395],{"class":355},",",[345,397,398],{"class":355}," {",[345,400,402],{"class":401},"swJcz"," userId",[345,404,405],{"class":355},":",[345,407,408],{"class":351}," user",[345,410,292],{"class":355},[345,412,413],{"class":351},"id ",[345,415,416],{"class":355},"}",[345,418,374],{"class":351},[345,420,422,424,426,428,430,432,435,437,439,441,444,446,449,451,453,455],{"class":347,"line":421},3,[345,423,352],{"class":351},[345,425,292],{"class":355},[345,427,359],{"class":358},[345,429,362],{"class":351},[345,431,365],{"class":355},[345,433,434],{"class":368},"Fetching cart",[345,436,365],{"class":355},[345,438,395],{"class":355},[345,440,398],{"class":355},[345,442,443],{"class":401}," cartId",[345,445,405],{"class":355},[345,447,448],{"class":351}," cart",[345,450,292],{"class":355},[345,452,413],{"class":351},[345,454,416],{"class":355},[345,456,374],{"class":351},[345,458,460,462,464,466,468,470,473,475],{"class":347,"line":459},4,[345,461,352],{"class":351},[345,463,292],{"class":355},[345,465,359],{"class":358},[345,467,362],{"class":351},[345,469,365],{"class":355},[345,471,472],{"class":368},"Processing payment",[345,474,365],{"class":355},[345,476,374],{"class":351},[345,478,480,482,484,486,488,490,493,495],{"class":347,"line":479},5,[345,481,352],{"class":351},[345,483,292],{"class":355},[345,485,359],{"class":358},[345,487,362],{"class":351},[345,489,365],{"class":355},[345,491,492],{"class":368},"Payment successful",[345,494,365],{"class":355},[345,496,374],{"class":351},[345,498,500,502,504,506,508,510,513,515],{"class":347,"line":499},6,[345,501,352],{"class":351},[345,503,292],{"class":355},[345,505,359],{"class":358},[345,507,362],{"class":351},[345,509,365],{"class":355},[345,511,512],{"class":368},"Request completed",[345,514,365],{"class":355},[345,516,374],{"class":351},[269,518,519],{},"You accumulate context and emit once:",[521,522,523,738],"code-group",{},[334,524,527],{"className":336,"code":525,"filename":526,"language":339,"meta":340,"style":340},"\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",[342,528,529,535,553,559,611,662,712,717],{"__ignoreMap":340},[345,530,531],{"class":347,"line":348},[345,532,534],{"class":533},"sHwdD","\u002F\u002F server\u002Fapi\u002Fcheckout.post.ts\n",[345,536,537,541,544,547,550],{"class":347,"line":377},[345,538,540],{"class":539},"spNyl","const",[345,542,543],{"class":351}," log ",[345,545,546],{"class":355},"=",[345,548,549],{"class":358}," useLogger",[345,551,552],{"class":351},"(event)\n",[345,554,555],{"class":347,"line":421},[345,556,558],{"emptyLinePlaceholder":557},true,"\n",[345,560,561,564,566,569,571,574,576,578,580,583,585,589,591,594,596,599,602,604,607,609],{"class":347,"line":459},[345,562,563],{"class":351},"log",[345,565,292],{"class":355},[345,567,568],{"class":358},"set",[345,570,362],{"class":351},[345,572,573],{"class":355},"{",[345,575,408],{"class":401},[345,577,405],{"class":355},[345,579,398],{"class":355},[345,581,582],{"class":401}," id",[345,584,405],{"class":355},[345,586,588],{"class":587},"sbssI"," 1",[345,590,395],{"class":355},[345,592,593],{"class":401}," plan",[345,595,405],{"class":355},[345,597,598],{"class":355}," '",[345,600,601],{"class":368},"pro",[345,603,365],{"class":355},[345,605,606],{"class":355}," }",[345,608,606],{"class":355},[345,610,374],{"class":351},[345,612,613,615,617,619,621,623,625,627,629,631,633,636,638,641,643,646,648,651,653,656,658,660],{"class":347,"line":479},[345,614,563],{"class":351},[345,616,292],{"class":355},[345,618,568],{"class":358},[345,620,362],{"class":351},[345,622,573],{"class":355},[345,624,448],{"class":401},[345,626,405],{"class":355},[345,628,398],{"class":355},[345,630,582],{"class":401},[345,632,405],{"class":355},[345,634,635],{"class":587}," 42",[345,637,395],{"class":355},[345,639,640],{"class":401}," items",[345,642,405],{"class":355},[345,644,645],{"class":587}," 3",[345,647,395],{"class":355},[345,649,650],{"class":401}," total",[345,652,405],{"class":355},[345,654,655],{"class":587}," 9999",[345,657,606],{"class":355},[345,659,606],{"class":355},[345,661,374],{"class":351},[345,663,664,666,668,670,672,674,677,679,681,684,686,688,690,692,694,697,699,701,704,706,708,710],{"class":347,"line":499},[345,665,563],{"class":351},[345,667,292],{"class":355},[345,669,568],{"class":358},[345,671,362],{"class":351},[345,673,573],{"class":355},[345,675,676],{"class":401}," payment",[345,678,405],{"class":355},[345,680,398],{"class":355},[345,682,683],{"class":401}," method",[345,685,405],{"class":355},[345,687,598],{"class":355},[345,689,310],{"class":368},[345,691,365],{"class":355},[345,693,395],{"class":355},[345,695,696],{"class":401}," status",[345,698,405],{"class":355},[345,700,598],{"class":355},[345,702,703],{"class":368},"success",[345,705,365],{"class":355},[345,707,606],{"class":355},[345,709,606],{"class":355},[345,711,374],{"class":351},[345,713,715],{"class":347,"line":714},7,[345,716,558],{"emptyLinePlaceholder":557},[345,718,720,724,726,729,731,735],{"class":347,"line":719},8,[345,721,723],{"class":722},"s7zQu","return",[345,725,398],{"class":355},[345,727,728],{"class":401}," success",[345,730,405],{"class":355},[345,732,734],{"class":733},"sfNiH"," true",[345,736,737],{"class":355}," }\n",[334,739,744],{"className":740,"code":741,"filename":742,"language":743,"meta":340,"style":340},"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",[342,745,746,766,790,815,844],{"__ignoreMap":340},[345,747,748,751,754,757,760,764],{"class":347,"line":348},[345,749,750],{"class":355},"[",[345,752,753],{"class":351},"INFO",[345,755,756],{"class":355},"]",[345,758,759],{"class":351}," POST \u002Fapi\u002Fcheckout (",[345,761,763],{"class":762},"sBMFI","234ms",[345,765,374],{"class":351},[345,767,768,771,773,776,779,782,784,786,788],{"class":347,"line":377},[345,769,770],{"class":762},"  user:",[345,772,398],{"class":368},[345,774,775],{"class":368}," id:",[345,777,778],{"class":368}," 1,",[345,780,781],{"class":368}," plan:",[345,783,598],{"class":355},[345,785,601],{"class":368},[345,787,365],{"class":355},[345,789,737],{"class":368},[345,791,792,795,797,799,802,805,808,811,813],{"class":347,"line":421},[345,793,794],{"class":762},"  cart:",[345,796,398],{"class":368},[345,798,775],{"class":368},[345,800,801],{"class":368}," 42,",[345,803,804],{"class":368}," items:",[345,806,807],{"class":368}," 3,",[345,809,810],{"class":368}," total:",[345,812,655],{"class":587},[345,814,737],{"class":368},[345,816,817,820,822,825,827,829,831,833,836,838,840,842],{"class":347,"line":459},[345,818,819],{"class":762},"  payment:",[345,821,398],{"class":368},[345,823,824],{"class":368}," method:",[345,826,598],{"class":355},[345,828,310],{"class":368},[345,830,365],{"class":355},[345,832,395],{"class":368},[345,834,835],{"class":368}," status:",[345,837,598],{"class":355},[345,839,703],{"class":368},[345,841,365],{"class":355},[345,843,737],{"class":368},[345,845,846,849],{"class":347,"line":479},[345,847,848],{"class":762},"  status:",[345,850,851],{"class":587}," 200\n",[269,853,854],{},"One log, all context. Everything you need to understand what happened during that request.",[294,856,141],{"id":857},"structured-errors",[269,859,860],{},"Traditional errors are opaque:",[334,862,864],{"className":336,"code":863,"language":339,"meta":340,"style":340},"throw new Error('Payment failed')\n",[342,865,866],{"__ignoreMap":340},[345,867,868,871,874,877,879,881,884,886],{"class":347,"line":348},[345,869,870],{"class":722},"throw",[345,872,873],{"class":355}," new",[345,875,876],{"class":358}," Error",[345,878,362],{"class":351},[345,880,365],{"class":355},[345,882,883],{"class":368},"Payment failed",[345,885,365],{"class":355},[345,887,374],{"class":351},[269,889,890],{},"Structured errors provide actionable context:",[521,892,893,1023],{},[334,894,896],{"className":336,"code":895,"filename":526,"language":339,"meta":340,"style":340},"\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",[342,897,898,902,924,928,939,955,967,983,999,1016],{"__ignoreMap":340},[345,899,900],{"class":347,"line":348},[345,901,534],{"class":533},[345,903,904,907,909,912,914,917,919,921],{"class":347,"line":377},[345,905,906],{"class":722},"import",[345,908,398],{"class":355},[345,910,911],{"class":351}," createError",[345,913,606],{"class":355},[345,915,916],{"class":722}," from",[345,918,598],{"class":355},[345,920,274],{"class":368},[345,922,923],{"class":355},"'\n",[345,925,926],{"class":347,"line":421},[345,927,558],{"emptyLinePlaceholder":557},[345,929,930,932,934,936],{"class":347,"line":459},[345,931,870],{"class":722},[345,933,911],{"class":358},[345,935,362],{"class":351},[345,937,938],{"class":355},"{\n",[345,940,941,944,946,948,950,952],{"class":347,"line":479},[345,942,943],{"class":401},"  message",[345,945,405],{"class":355},[345,947,598],{"class":355},[345,949,883],{"class":368},[345,951,365],{"class":355},[345,953,954],{"class":355},",\n",[345,956,957,960,962,965],{"class":347,"line":499},[345,958,959],{"class":401},"  status",[345,961,405],{"class":355},[345,963,964],{"class":587}," 402",[345,966,954],{"class":355},[345,968,969,972,974,976,979,981],{"class":347,"line":714},[345,970,971],{"class":401},"  why",[345,973,405],{"class":355},[345,975,598],{"class":355},[345,977,978],{"class":368},"Card declined by issuer (insufficient funds)",[345,980,365],{"class":355},[345,982,954],{"class":355},[345,984,985,988,990,992,995,997],{"class":347,"line":719},[345,986,987],{"class":401},"  fix",[345,989,405],{"class":355},[345,991,598],{"class":355},[345,993,994],{"class":368},"Try a different payment method or contact your bank",[345,996,365],{"class":355},[345,998,954],{"class":355},[345,1000,1002,1005,1007,1009,1012,1014],{"class":347,"line":1001},9,[345,1003,1004],{"class":401},"  link",[345,1006,405],{"class":355},[345,1008,598],{"class":355},[345,1010,1011],{"class":368},"https:\u002F\u002Fdocs.example.com\u002Fpayments\u002Fdeclined",[345,1013,365],{"class":355},[345,1015,954],{"class":355},[345,1017,1019,1021],{"class":347,"line":1018},10,[345,1020,416],{"class":355},[345,1022,374],{"class":351},[334,1024,1029],{"className":1025,"code":1026,"filename":1027,"language":1028,"meta":340,"style":340},"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",[342,1030,1031,1035,1052,1072,1086,1106,1125,1143,1148],{"__ignoreMap":340},[345,1032,1033],{"class":347,"line":348},[345,1034,938],{"class":355},[345,1036,1037,1040,1043,1046,1048,1050],{"class":347,"line":377},[345,1038,1039],{"class":355},"  \"",[345,1041,1042],{"class":539},"statusCode",[345,1044,1045],{"class":355},"\"",[345,1047,405],{"class":355},[345,1049,964],{"class":587},[345,1051,954],{"class":355},[345,1053,1054,1056,1059,1061,1063,1066,1068,1070],{"class":347,"line":421},[345,1055,1039],{"class":355},[345,1057,1058],{"class":539},"message",[345,1060,1045],{"class":355},[345,1062,405],{"class":355},[345,1064,1065],{"class":355}," \"",[345,1067,883],{"class":368},[345,1069,1045],{"class":355},[345,1071,954],{"class":355},[345,1073,1074,1076,1079,1081,1083],{"class":347,"line":459},[345,1075,1039],{"class":355},[345,1077,1078],{"class":539},"data",[345,1080,1045],{"class":355},[345,1082,405],{"class":355},[345,1084,1085],{"class":355}," {\n",[345,1087,1088,1091,1094,1096,1098,1100,1102,1104],{"class":347,"line":479},[345,1089,1090],{"class":355},"    \"",[345,1092,1093],{"class":762},"why",[345,1095,1045],{"class":355},[345,1097,405],{"class":355},[345,1099,1065],{"class":355},[345,1101,978],{"class":368},[345,1103,1045],{"class":355},[345,1105,954],{"class":355},[345,1107,1108,1110,1113,1115,1117,1119,1121,1123],{"class":347,"line":499},[345,1109,1090],{"class":355},[345,1111,1112],{"class":762},"fix",[345,1114,1045],{"class":355},[345,1116,405],{"class":355},[345,1118,1065],{"class":355},[345,1120,994],{"class":368},[345,1122,1045],{"class":355},[345,1124,954],{"class":355},[345,1126,1127,1129,1132,1134,1136,1138,1140],{"class":347,"line":714},[345,1128,1090],{"class":355},[345,1130,1131],{"class":762},"link",[345,1133,1045],{"class":355},[345,1135,405],{"class":355},[345,1137,1065],{"class":355},[345,1139,1011],{"class":368},[345,1141,1142],{"class":355},"\"\n",[345,1144,1145],{"class":347,"line":719},[345,1146,1147],{"class":355},"  }\n",[345,1149,1150],{"class":347,"line":1001},[345,1151,1152],{"class":355},"}\n",[269,1154,1155,1156,1158,1159,1161,1162,1164],{},"With ",[342,1157,1093],{},", ",[342,1160,1112],{},", and ",[342,1163,1131],{}," fields, anyone debugging (human or AI) can immediately understand the root cause and how to resolve it.",[294,1166,1168],{"id":1167},"why-context-matters","Why Context Matters",[269,1170,1171,1172,1175],{},"We're entering an era where AI agents build, debug, and maintain applications. These agents need ",[272,1173,1174],{},"structured context"," to work effectively:",[1177,1178,1179,1187,1194],"ul",{},[1180,1181,1182,1186],"li",{},[272,1183,1184],{},[342,1185,1093],{},": The root cause, so the agent understands what went wrong",[1180,1188,1189,1193],{},[272,1190,1191],{},[342,1192,1112],{},": An actionable solution the agent can suggest or apply",[1180,1195,1196,1200],{},[272,1197,1198],{},[342,1199,1131],{},": Documentation for complex issues",[269,1202,1203,1204,1207,1208,1211],{},"Traditional ",[342,1205,1206],{},"console.log"," and generic ",[342,1209,1210],{},"throw new Error()"," provide no actionable context. evlog's structured output is designed for both humans and AI to parse and act on.",[294,1213,1215],{"id":1214},"next-steps","Next Steps",[1177,1217,1218,1223],{},[1180,1219,1220,1222],{},[280,1221,15],{"href":16}," - Install evlog in your project",[1180,1224,1225,1227],{},[280,1226,20],{"href":21}," - Get up and running in minutes",[1229,1230,1231],"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":340,"searchDepth":377,"depth":377,"links":1233},[1234,1235,1236,1237,1238],{"id":296,"depth":377,"text":297},{"id":328,"depth":377,"text":329},{"id":857,"depth":377,"text":141},{"id":1167,"depth":377,"text":1168},{"id":1214,"depth":377,"text":1215},"A TypeScript logging library focused on wide events and structured error handling. Replace scattered logs with one comprehensive event per request.","md",[1242,1245],{"label":20,"icon":23,"to":21,"color":1243,"variant":1244},"neutral","subtle",{"label":1246,"icon":1247,"to":1248,"target":1249,"color":1243,"variant":1244},"GitHub","i-simple-icons-github","https:\u002F\u002Fgithub.com\u002Fhugorcd\u002Fevlog","_blank",{},{"icon":13},{"title":10,"description":1239},"gt4nkYa_hT4XXWwzBp30bEeTDQRfiAE8i2lXurp12L8",[1255,1256],null,{"title":15,"path":16,"stem":17,"description":1257,"icon":18,"children":-1},"Install evlog in your TypeScript project.",1775236123350]