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