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