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