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