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