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