[{"data":1,"prerenderedAt":2372},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-quick-start":75,"-getting-started-quick-start-surround":2367},[4,30,50],{"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],{"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,"children":54,"page":29},"Adapters","/adapters","3.adapters",[55,60,65,70],{"title":56,"path":57,"stem":58,"icon":59},"Overview","/adapters/overview","3.adapters/1.overview","i-custom-plug",{"title":61,"path":62,"stem":63,"icon":64},"Axiom","/adapters/axiom","3.adapters/2.axiom","i-custom-axiom",{"title":66,"path":67,"stem":68,"icon":69},"OTLP","/adapters/otlp","3.adapters/3.otlp","i-simple-icons-opentelemetry",{"title":71,"path":72,"stem":73,"icon":74},"Custom Adapters","/adapters/custom","3.adapters/4.custom","i-lucide-code",{"id":76,"title":20,"body":77,"description":2358,"extension":2359,"links":2360,"meta":2363,"navigation":2364,"path":21,"seo":2365,"stem":22,"__hash__":2366},"docs/1.getting-started/3.quick-start.md",{"type":78,"value":79,"toc":2345},"minimark",[80,84,109,114,121,499,508,513,559,563,569,833,837,924,928,934,1307,1311,1314,1469,1480,1484,1490,1881,1884,1892,1898,1902,1905,2317,2321,2341],[81,82,83],"p",{},"This guide covers the core APIs you'll use most often with evlog.",[85,86,88,89,93,94,98,99,98,102,98,105,108],"callout",{"color":87,"icon":28},"info","In Nuxt, evlog ",[90,91,92],"strong",{},"auto-imports"," all functions (",[95,96,97],"code",{},"useLogger",", ",[95,100,101],{},"log",[95,103,104],{},"createError",[95,106,107],{},"parseError","). No import statements needed.",[110,111,113],"h2",{"id":112},"uselogger-server-side","useLogger (Server-Side)",[81,115,116,117,120],{},"Use ",[95,118,119],{},"useLogger(event)"," in any Nuxt/Nitro API route to get a request-scoped logger:",[122,123,124,432],"code-group",{},[125,126,132],"pre",{"className":127,"code":128,"filename":129,"language":130,"meta":131,"style":131},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineEventHandler(async (event) => {\n  // Get the request-scoped logger (auto-imported in Nuxt)\n  const log = useLogger(event)\n\n  // Accumulate context throughout the request\n  log.set({ user: { id: 1, plan: 'pro' } })\n  log.set({ cart: { items: 3, total: 9999 } })\n\n  // Process checkout...\n  const order = await processCheckout()\n  log.set({ orderId: order.id })\n\n  // Logger auto-emits when request ends - nothing else to do!\n  return { success: true, orderId: order.id }\n})\n","server/api/checkout.post.ts","typescript","",[95,133,134,175,182,205,212,218,278,322,327,333,352,381,386,392,424],{"__ignoreMap":131},[135,136,139,143,146,150,154,158,162,166,169,172],"span",{"class":137,"line":138},"line",1,[135,140,142],{"class":141},"s7zQu","export",[135,144,145],{"class":141}," default",[135,147,149],{"class":148},"s2Zo4"," defineEventHandler",[135,151,153],{"class":152},"sTEyZ","(",[135,155,157],{"class":156},"spNyl","async",[135,159,161],{"class":160},"sMK4o"," (",[135,163,165],{"class":164},"sHdIc","event",[135,167,168],{"class":160},")",[135,170,171],{"class":156}," =>",[135,173,174],{"class":160}," {\n",[135,176,178],{"class":137,"line":177},2,[135,179,181],{"class":180},"sHwdD","  // Get the request-scoped logger (auto-imported in Nuxt)\n",[135,183,185,188,191,194,197,200,202],{"class":137,"line":184},3,[135,186,187],{"class":156},"  const",[135,189,190],{"class":152}," log",[135,192,193],{"class":160}," =",[135,195,196],{"class":148}," useLogger",[135,198,153],{"class":199},"swJcz",[135,201,165],{"class":152},[135,203,204],{"class":199},")\n",[135,206,208],{"class":137,"line":207},4,[135,209,211],{"emptyLinePlaceholder":210},true,"\n",[135,213,215],{"class":137,"line":214},5,[135,216,217],{"class":180},"  // Accumulate context throughout the request\n",[135,219,221,224,227,230,232,235,238,241,244,247,249,253,256,259,261,264,268,271,274,276],{"class":137,"line":220},6,[135,222,223],{"class":152},"  log",[135,225,226],{"class":160},".",[135,228,229],{"class":148},"set",[135,231,153],{"class":199},[135,233,234],{"class":160},"{",[135,236,237],{"class":199}," user",[135,239,240],{"class":160},":",[135,242,243],{"class":160}," {",[135,245,246],{"class":199}," id",[135,248,240],{"class":160},[135,250,252],{"class":251},"sbssI"," 1",[135,254,255],{"class":160},",",[135,257,258],{"class":199}," plan",[135,260,240],{"class":160},[135,262,263],{"class":160}," '",[135,265,267],{"class":266},"sfazB","pro",[135,269,270],{"class":160},"'",[135,272,273],{"class":160}," }",[135,275,273],{"class":160},[135,277,204],{"class":199},[135,279,281,283,285,287,289,291,294,296,298,301,303,306,308,311,313,316,318,320],{"class":137,"line":280},7,[135,282,223],{"class":152},[135,284,226],{"class":160},[135,286,229],{"class":148},[135,288,153],{"class":199},[135,290,234],{"class":160},[135,292,293],{"class":199}," cart",[135,295,240],{"class":160},[135,297,243],{"class":160},[135,299,300],{"class":199}," items",[135,302,240],{"class":160},[135,304,305],{"class":251}," 3",[135,307,255],{"class":160},[135,309,310],{"class":199}," total",[135,312,240],{"class":160},[135,314,315],{"class":251}," 9999",[135,317,273],{"class":160},[135,319,273],{"class":160},[135,321,204],{"class":199},[135,323,325],{"class":137,"line":324},8,[135,326,211],{"emptyLinePlaceholder":210},[135,328,330],{"class":137,"line":329},9,[135,331,332],{"class":180},"  // Process checkout...\n",[135,334,336,338,341,343,346,349],{"class":137,"line":335},10,[135,337,187],{"class":156},[135,339,340],{"class":152}," order",[135,342,193],{"class":160},[135,344,345],{"class":141}," await",[135,347,348],{"class":148}," processCheckout",[135,350,351],{"class":199},"()\n",[135,353,355,357,359,361,363,365,368,370,372,374,377,379],{"class":137,"line":354},11,[135,356,223],{"class":152},[135,358,226],{"class":160},[135,360,229],{"class":148},[135,362,153],{"class":199},[135,364,234],{"class":160},[135,366,367],{"class":199}," orderId",[135,369,240],{"class":160},[135,371,340],{"class":152},[135,373,226],{"class":160},[135,375,376],{"class":152},"id",[135,378,273],{"class":160},[135,380,204],{"class":199},[135,382,384],{"class":137,"line":383},12,[135,385,211],{"emptyLinePlaceholder":210},[135,387,389],{"class":137,"line":388},13,[135,390,391],{"class":180},"  // Logger auto-emits when request ends - nothing else to do!\n",[135,393,395,398,400,403,405,409,411,413,415,417,419,421],{"class":137,"line":394},14,[135,396,397],{"class":141},"  return",[135,399,243],{"class":160},[135,401,402],{"class":199}," success",[135,404,240],{"class":160},[135,406,408],{"class":407},"sfNiH"," true",[135,410,255],{"class":160},[135,412,367],{"class":199},[135,414,240],{"class":160},[135,416,340],{"class":152},[135,418,226],{"class":160},[135,420,376],{"class":152},[135,422,423],{"class":160}," }\n",[135,425,427,430],{"class":137,"line":426},15,[135,428,429],{"class":160},"}",[135,431,204],{"class":152},[125,433,438],{"className":434,"code":435,"filename":436,"language":437,"meta":131,"style":131},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","10:23:45.612 INFO [my-app] POST /api/checkout 200 in 234ms\n  ├─ user: id=1 plan=pro\n  ├─ cart: items=3 total=9999\n  └─ orderId: ord_abc123\n","Output (Pretty)","bash",[95,439,440,452,469,488],{"__ignoreMap":131},[135,441,442,446,449],{"class":137,"line":138},[135,443,445],{"class":444},"sBMFI","10:23:45.612",[135,447,448],{"class":266}," INFO",[135,450,451],{"class":152}," [my-app] POST /api/checkout 200 in 234ms\n",[135,453,454,457,460,463,466],{"class":137,"line":177},[135,455,456],{"class":444},"  ├─",[135,458,459],{"class":266}," user:",[135,461,462],{"class":266}," id=",[135,464,465],{"class":251},"1",[135,467,468],{"class":266}," plan=pro\n",[135,470,471,473,476,479,482,485],{"class":137,"line":184},[135,472,456],{"class":444},[135,474,475],{"class":266}," cart:",[135,477,478],{"class":266}," items=",[135,480,481],{"class":251},"3",[135,483,484],{"class":266}," total=",[135,486,487],{"class":251},"9999\n",[135,489,490,493,496],{"class":137,"line":207},[135,491,492],{"class":444},"  └─",[135,494,495],{"class":266}," orderId:",[135,497,498],{"class":266}," ord_abc123\n",[85,500,503,504,507],{"color":501,"icon":502},"success","i-lucide-check","The logger automatically emits when the request ends. No manual ",[95,505,506],{},"emit()"," call needed.",[509,510,512],"h3",{"id":511},"when-to-use-uselogger-vs-log","When to use useLogger vs log",[514,515,516,531],"table",{},[517,518,519],"thead",{},[520,521,522,527],"tr",{},[523,524,116,525],"th",{},[95,526,119],{},[523,528,116,529],{},[95,530,101],{},[532,533,534,543,551],"tbody",{},[520,535,536,540],{},[537,538,539],"td",{},"API routes, middleware, server plugins",[537,541,542],{},"One-off events outside request context",[520,544,545,548],{},[537,546,547],{},"When you need to accumulate context",[537,549,550],{},"Quick debugging messages",[520,552,553,556],{},[537,554,555],{},"For wide events (one log per request)",[537,557,558],{},"Client-side logging",[110,560,562],{"id":561},"createerror-structured-errors","createError (Structured Errors)",[81,564,116,565,568],{},[95,566,567],{},"createError()"," to throw errors with actionable context:",[122,570,571,704],{},[125,572,575],{"className":127,"code":573,"filename":574,"language":130,"meta":131,"style":131},"// 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',\n  fix: 'Try a different payment method',\n  link: 'https://docs.example.com/payments/declined',\n})\n","Code",[95,576,577,582,605,609,621,638,650,666,682,698],{"__ignoreMap":131},[135,578,579],{"class":137,"line":138},[135,580,581],{"class":180},"// server/api/checkout.post.ts\n",[135,583,584,587,589,592,594,597,599,602],{"class":137,"line":177},[135,585,586],{"class":141},"import",[135,588,243],{"class":160},[135,590,591],{"class":152}," createError",[135,593,273],{"class":160},[135,595,596],{"class":141}," from",[135,598,263],{"class":160},[135,600,601],{"class":266},"evlog",[135,603,604],{"class":160},"'\n",[135,606,607],{"class":137,"line":184},[135,608,211],{"emptyLinePlaceholder":210},[135,610,611,614,616,618],{"class":137,"line":207},[135,612,613],{"class":141},"throw",[135,615,591],{"class":148},[135,617,153],{"class":152},[135,619,620],{"class":160},"{\n",[135,622,623,626,628,630,633,635],{"class":137,"line":214},[135,624,625],{"class":199},"  message",[135,627,240],{"class":160},[135,629,263],{"class":160},[135,631,632],{"class":266},"Payment failed",[135,634,270],{"class":160},[135,636,637],{"class":160},",\n",[135,639,640,643,645,648],{"class":137,"line":220},[135,641,642],{"class":199},"  status",[135,644,240],{"class":160},[135,646,647],{"class":251}," 402",[135,649,637],{"class":160},[135,651,652,655,657,659,662,664],{"class":137,"line":280},[135,653,654],{"class":199},"  why",[135,656,240],{"class":160},[135,658,263],{"class":160},[135,660,661],{"class":266},"Card declined by issuer",[135,663,270],{"class":160},[135,665,637],{"class":160},[135,667,668,671,673,675,678,680],{"class":137,"line":324},[135,669,670],{"class":199},"  fix",[135,672,240],{"class":160},[135,674,263],{"class":160},[135,676,677],{"class":266},"Try a different payment method",[135,679,270],{"class":160},[135,681,637],{"class":160},[135,683,684,687,689,691,694,696],{"class":137,"line":329},[135,685,686],{"class":199},"  link",[135,688,240],{"class":160},[135,690,263],{"class":160},[135,692,693],{"class":266},"https://docs.example.com/payments/declined",[135,695,270],{"class":160},[135,697,637],{"class":160},[135,699,700,702],{"class":137,"line":335},[135,701,429],{"class":160},[135,703,204],{"class":152},[125,705,710],{"className":706,"code":707,"filename":708,"language":709,"meta":131,"style":131},"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\",\n    \"fix\": \"Try a different payment method\",\n    \"link\": \"https://docs.example.com/payments/declined\"\n  }\n}\n","Response","json",[95,711,712,716,733,753,766,786,805,823,828],{"__ignoreMap":131},[135,713,714],{"class":137,"line":138},[135,715,620],{"class":160},[135,717,718,721,724,727,729,731],{"class":137,"line":177},[135,719,720],{"class":160},"  \"",[135,722,723],{"class":156},"statusCode",[135,725,726],{"class":160},"\"",[135,728,240],{"class":160},[135,730,647],{"class":251},[135,732,637],{"class":160},[135,734,735,737,740,742,744,747,749,751],{"class":137,"line":184},[135,736,720],{"class":160},[135,738,739],{"class":156},"message",[135,741,726],{"class":160},[135,743,240],{"class":160},[135,745,746],{"class":160}," \"",[135,748,632],{"class":266},[135,750,726],{"class":160},[135,752,637],{"class":160},[135,754,755,757,760,762,764],{"class":137,"line":207},[135,756,720],{"class":160},[135,758,759],{"class":156},"data",[135,761,726],{"class":160},[135,763,240],{"class":160},[135,765,174],{"class":160},[135,767,768,771,774,776,778,780,782,784],{"class":137,"line":214},[135,769,770],{"class":160},"    \"",[135,772,773],{"class":444},"why",[135,775,726],{"class":160},[135,777,240],{"class":160},[135,779,746],{"class":160},[135,781,661],{"class":266},[135,783,726],{"class":160},[135,785,637],{"class":160},[135,787,788,790,793,795,797,799,801,803],{"class":137,"line":220},[135,789,770],{"class":160},[135,791,792],{"class":444},"fix",[135,794,726],{"class":160},[135,796,240],{"class":160},[135,798,746],{"class":160},[135,800,677],{"class":266},[135,802,726],{"class":160},[135,804,637],{"class":160},[135,806,807,809,812,814,816,818,820],{"class":137,"line":280},[135,808,770],{"class":160},[135,810,811],{"class":444},"link",[135,813,726],{"class":160},[135,815,240],{"class":160},[135,817,746],{"class":160},[135,819,693],{"class":266},[135,821,822],{"class":160},"\"\n",[135,824,825],{"class":137,"line":324},[135,826,827],{"class":160},"  }\n",[135,829,830],{"class":137,"line":329},[135,831,832],{"class":160},"}\n",[509,834,836],{"id":835},"error-fields","Error Fields",[514,838,839,852],{},[517,840,841],{},[520,842,843,846,849],{},[523,844,845],{},"Field",[523,847,848],{},"Required",[523,850,851],{},"Description",[532,853,854,866,879,890,901,912],{},[520,855,856,860,863],{},[537,857,858],{},[95,859,739],{},[537,861,862],{},"Yes",[537,864,865],{},"What happened (user-facing)",[520,867,868,873,876],{},[537,869,870],{},[95,871,872],{},"status",[537,874,875],{},"No",[537,877,878],{},"HTTP status code (default: 500)",[520,880,881,885,887],{},[537,882,883],{},[95,884,773],{},[537,886,875],{},[537,888,889],{},"Technical reason (for debugging)",[520,891,892,896,898],{},[537,893,894],{},[95,895,792],{},[537,897,875],{},[537,899,900],{},"Actionable solution",[520,902,903,907,909],{},[537,904,905],{},[95,906,811],{},[537,908,875],{},[537,910,911],{},"Documentation URL for more info",[520,913,914,919,921],{},[537,915,916],{},[95,917,918],{},"cause",[537,920,875],{},[537,922,923],{},"Original error (if wrapping)",[509,925,927],{"id":926},"frontend-integration","Frontend Integration",[81,929,116,930,933],{},[95,931,932],{},"parseError()"," to extract all error fields on the client:",[125,935,938],{"className":127,"code":936,"filename":937,"language":130,"meta":131,"style":131},"import { parseError } from 'evlog'\n\nexport async function checkout(cart: Cart) {\n  try {\n    await $fetch('/api/checkout', { method: 'POST', body: cart })\n  } catch (err) {\n    const error = parseError(err)\n\n    // Direct access to all fields\n    toast.add({\n      title: error.message,\n      description: error.why,\n      color: 'error',\n      actions: error.link\n        ? [{ label: 'Learn more', onClick: () => window.open(error.link) }]\n        : undefined,\n    })\n\n    if (error.fix) {\n      console.info(`Fix: ${error.fix}`)\n    }\n  }\n}\n","composables/useCheckout.ts",[95,939,940,959,963,990,997,1043,1061,1079,1083,1088,1102,1117,1132,1148,1162,1219,1228,1236,1241,1259,1291,1297,1302],{"__ignoreMap":131},[135,941,942,944,946,949,951,953,955,957],{"class":137,"line":138},[135,943,586],{"class":141},[135,945,243],{"class":160},[135,947,948],{"class":152}," parseError",[135,950,273],{"class":160},[135,952,596],{"class":141},[135,954,263],{"class":160},[135,956,601],{"class":266},[135,958,604],{"class":160},[135,960,961],{"class":137,"line":177},[135,962,211],{"emptyLinePlaceholder":210},[135,964,965,967,970,973,976,978,981,983,986,988],{"class":137,"line":184},[135,966,142],{"class":141},[135,968,969],{"class":156}," async",[135,971,972],{"class":156}," function",[135,974,975],{"class":148}," checkout",[135,977,153],{"class":160},[135,979,980],{"class":164},"cart",[135,982,240],{"class":160},[135,984,985],{"class":444}," Cart",[135,987,168],{"class":160},[135,989,174],{"class":160},[135,991,992,995],{"class":137,"line":207},[135,993,994],{"class":141},"  try",[135,996,174],{"class":160},[135,998,999,1002,1005,1007,1009,1012,1014,1016,1018,1021,1023,1025,1028,1030,1032,1035,1037,1039,1041],{"class":137,"line":214},[135,1000,1001],{"class":141},"    await",[135,1003,1004],{"class":148}," $fetch",[135,1006,153],{"class":199},[135,1008,270],{"class":160},[135,1010,1011],{"class":266},"/api/checkout",[135,1013,270],{"class":160},[135,1015,255],{"class":160},[135,1017,243],{"class":160},[135,1019,1020],{"class":199}," method",[135,1022,240],{"class":160},[135,1024,263],{"class":160},[135,1026,1027],{"class":266},"POST",[135,1029,270],{"class":160},[135,1031,255],{"class":160},[135,1033,1034],{"class":199}," body",[135,1036,240],{"class":160},[135,1038,293],{"class":152},[135,1040,273],{"class":160},[135,1042,204],{"class":199},[135,1044,1045,1048,1051,1053,1056,1059],{"class":137,"line":220},[135,1046,1047],{"class":160},"  }",[135,1049,1050],{"class":141}," catch",[135,1052,161],{"class":199},[135,1054,1055],{"class":152},"err",[135,1057,1058],{"class":199},") ",[135,1060,620],{"class":160},[135,1062,1063,1066,1069,1071,1073,1075,1077],{"class":137,"line":280},[135,1064,1065],{"class":156},"    const",[135,1067,1068],{"class":152}," error",[135,1070,193],{"class":160},[135,1072,948],{"class":148},[135,1074,153],{"class":199},[135,1076,1055],{"class":152},[135,1078,204],{"class":199},[135,1080,1081],{"class":137,"line":324},[135,1082,211],{"emptyLinePlaceholder":210},[135,1084,1085],{"class":137,"line":329},[135,1086,1087],{"class":180},"    // Direct access to all fields\n",[135,1089,1090,1093,1095,1098,1100],{"class":137,"line":335},[135,1091,1092],{"class":152},"    toast",[135,1094,226],{"class":160},[135,1096,1097],{"class":148},"add",[135,1099,153],{"class":199},[135,1101,620],{"class":160},[135,1103,1104,1107,1109,1111,1113,1115],{"class":137,"line":354},[135,1105,1106],{"class":199},"      title",[135,1108,240],{"class":160},[135,1110,1068],{"class":152},[135,1112,226],{"class":160},[135,1114,739],{"class":152},[135,1116,637],{"class":160},[135,1118,1119,1122,1124,1126,1128,1130],{"class":137,"line":383},[135,1120,1121],{"class":199},"      description",[135,1123,240],{"class":160},[135,1125,1068],{"class":152},[135,1127,226],{"class":160},[135,1129,773],{"class":152},[135,1131,637],{"class":160},[135,1133,1134,1137,1139,1141,1144,1146],{"class":137,"line":388},[135,1135,1136],{"class":199},"      color",[135,1138,240],{"class":160},[135,1140,263],{"class":160},[135,1142,1143],{"class":266},"error",[135,1145,270],{"class":160},[135,1147,637],{"class":160},[135,1149,1150,1153,1155,1157,1159],{"class":137,"line":394},[135,1151,1152],{"class":199},"      actions",[135,1154,240],{"class":160},[135,1156,1068],{"class":152},[135,1158,226],{"class":160},[135,1160,1161],{"class":152},"link\n",[135,1163,1164,1167,1170,1172,1175,1177,1179,1182,1184,1186,1189,1191,1194,1196,1199,1201,1204,1206,1208,1210,1212,1214,1216],{"class":137,"line":426},[135,1165,1166],{"class":160},"        ?",[135,1168,1169],{"class":199}," [",[135,1171,234],{"class":160},[135,1173,1174],{"class":199}," label",[135,1176,240],{"class":160},[135,1178,263],{"class":160},[135,1180,1181],{"class":266},"Learn more",[135,1183,270],{"class":160},[135,1185,255],{"class":160},[135,1187,1188],{"class":148}," onClick",[135,1190,240],{"class":160},[135,1192,1193],{"class":160}," ()",[135,1195,171],{"class":156},[135,1197,1198],{"class":152}," window",[135,1200,226],{"class":160},[135,1202,1203],{"class":148},"open",[135,1205,153],{"class":199},[135,1207,1143],{"class":152},[135,1209,226],{"class":160},[135,1211,811],{"class":152},[135,1213,1058],{"class":199},[135,1215,429],{"class":160},[135,1217,1218],{"class":199},"]\n",[135,1220,1222,1225],{"class":137,"line":1221},16,[135,1223,1224],{"class":160},"        :",[135,1226,1227],{"class":160}," undefined,\n",[135,1229,1231,1234],{"class":137,"line":1230},17,[135,1232,1233],{"class":160},"    }",[135,1235,204],{"class":199},[135,1237,1239],{"class":137,"line":1238},18,[135,1240,211],{"emptyLinePlaceholder":210},[135,1242,1244,1247,1249,1251,1253,1255,1257],{"class":137,"line":1243},19,[135,1245,1246],{"class":141},"    if",[135,1248,161],{"class":199},[135,1250,1143],{"class":152},[135,1252,226],{"class":160},[135,1254,792],{"class":152},[135,1256,1058],{"class":199},[135,1258,620],{"class":160},[135,1260,1262,1265,1267,1269,1271,1274,1277,1280,1282,1284,1286,1289],{"class":137,"line":1261},20,[135,1263,1264],{"class":152},"      console",[135,1266,226],{"class":160},[135,1268,87],{"class":148},[135,1270,153],{"class":199},[135,1272,1273],{"class":160},"`",[135,1275,1276],{"class":266},"Fix: ",[135,1278,1279],{"class":160},"${",[135,1281,1143],{"class":152},[135,1283,226],{"class":160},[135,1285,792],{"class":152},[135,1287,1288],{"class":160},"}`",[135,1290,204],{"class":199},[135,1292,1294],{"class":137,"line":1293},21,[135,1295,1296],{"class":160},"    }\n",[135,1298,1300],{"class":137,"line":1299},22,[135,1301,827],{"class":160},[135,1303,1305],{"class":137,"line":1304},23,[135,1306,832],{"class":160},[110,1308,1310],{"id":1309},"log-simple-logging","log (Simple Logging)",[81,1312,1313],{},"For quick one-off logs anywhere in your code:",[122,1315,1316,1425],{},[125,1317,1320],{"className":127,"code":1318,"filename":1319,"language":130,"meta":131,"style":131},"// server/utils/auth.ts\nlog.info('auth', 'User logged in')\nlog.error({ action: 'payment', error: 'card_declined' })\nlog.warn('cache', 'Cache miss')\n","Server",[95,1321,1322,1327,1355,1396],{"__ignoreMap":131},[135,1323,1324],{"class":137,"line":138},[135,1325,1326],{"class":180},"// server/utils/auth.ts\n",[135,1328,1329,1331,1333,1335,1337,1339,1342,1344,1346,1348,1351,1353],{"class":137,"line":177},[135,1330,101],{"class":152},[135,1332,226],{"class":160},[135,1334,87],{"class":148},[135,1336,153],{"class":152},[135,1338,270],{"class":160},[135,1340,1341],{"class":266},"auth",[135,1343,270],{"class":160},[135,1345,255],{"class":160},[135,1347,263],{"class":160},[135,1349,1350],{"class":266},"User logged in",[135,1352,270],{"class":160},[135,1354,204],{"class":152},[135,1356,1357,1359,1361,1363,1365,1367,1370,1372,1374,1377,1379,1381,1383,1385,1387,1390,1392,1394],{"class":137,"line":184},[135,1358,101],{"class":152},[135,1360,226],{"class":160},[135,1362,1143],{"class":148},[135,1364,153],{"class":152},[135,1366,234],{"class":160},[135,1368,1369],{"class":199}," action",[135,1371,240],{"class":160},[135,1373,263],{"class":160},[135,1375,1376],{"class":266},"payment",[135,1378,270],{"class":160},[135,1380,255],{"class":160},[135,1382,1068],{"class":199},[135,1384,240],{"class":160},[135,1386,263],{"class":160},[135,1388,1389],{"class":266},"card_declined",[135,1391,270],{"class":160},[135,1393,273],{"class":160},[135,1395,204],{"class":152},[135,1397,1398,1400,1402,1405,1407,1409,1412,1414,1416,1418,1421,1423],{"class":137,"line":207},[135,1399,101],{"class":152},[135,1401,226],{"class":160},[135,1403,1404],{"class":148},"warn",[135,1406,153],{"class":152},[135,1408,270],{"class":160},[135,1410,1411],{"class":266},"cache",[135,1413,270],{"class":160},[135,1415,255],{"class":160},[135,1417,263],{"class":160},[135,1419,1420],{"class":266},"Cache miss",[135,1422,270],{"class":160},[135,1424,204],{"class":152},[125,1426,1429],{"className":434,"code":1427,"filename":1428,"language":437,"meta":131,"style":131},"10:23:45.612 [auth] User logged in\n10:23:45.613 ERROR [my-app] action=payment error=card_declined\n10:23:45.614 [cache] Cache miss\n","Output",[95,1430,1431,1438,1461],{"__ignoreMap":131},[135,1432,1433,1435],{"class":137,"line":138},[135,1434,445],{"class":444},[135,1436,1437],{"class":152}," [auth] User logged in\n",[135,1439,1440,1443,1446,1449,1452,1454,1456,1458],{"class":137,"line":177},[135,1441,1442],{"class":444},"10:23:45.613",[135,1444,1445],{"class":266}," ERROR",[135,1447,1448],{"class":152}," [my-app] action",[135,1450,1451],{"class":160},"=",[135,1453,1376],{"class":266},[135,1455,1068],{"class":152},[135,1457,1451],{"class":160},[135,1459,1460],{"class":266},"card_declined\n",[135,1462,1463,1466],{"class":137,"line":184},[135,1464,1465],{"class":444},"10:23:45.614",[135,1467,1468],{"class":152}," [cache] Cache miss\n",[85,1470,1473,1474,1476,1477,1479],{"color":1471,"icon":1472},"warning","i-lucide-lightbulb","Prefer wide events (",[95,1475,97],{},") over simple logs when possible. Use ",[95,1478,101],{}," for truly one-off events that don't belong to a request.",[110,1481,1483],{"id":1482},"log-client-side","log (Client-Side)",[81,1485,1486,1487,1489],{},"The same ",[95,1488,101],{}," API works on the client side, outputting to the browser console:",[122,1491,1492,1720],{},[125,1493,1498],{"className":1494,"code":1495,"filename":1496,"language":1497,"meta":131,"style":131},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nasync function handleCheckout() {\n  log.info('checkout', 'User initiated checkout')\n\n  try {\n    await $fetch('/api/checkout', { method: 'POST' })\n    log.info({ action: 'checkout', status: 'success' })\n  } catch (err) {\n    log.error({ action: 'checkout', error: 'failed' })\n  }\n}\n\u003C/script>\n","components/CheckoutButton.vue","vue",[95,1499,1500,1526,1540,1568,1572,1578,1610,1650,1664,1703,1707,1711],{"__ignoreMap":131},[135,1501,1502,1505,1508,1511,1514,1516,1518,1521,1523],{"class":137,"line":138},[135,1503,1504],{"class":160},"\u003C",[135,1506,1507],{"class":199},"script",[135,1509,1510],{"class":156}," setup",[135,1512,1513],{"class":156}," lang",[135,1515,1451],{"class":160},[135,1517,726],{"class":160},[135,1519,1520],{"class":266},"ts",[135,1522,726],{"class":160},[135,1524,1525],{"class":160},">\n",[135,1527,1528,1530,1532,1535,1538],{"class":137,"line":177},[135,1529,157],{"class":156},[135,1531,972],{"class":156},[135,1533,1534],{"class":148}," handleCheckout",[135,1536,1537],{"class":160},"()",[135,1539,174],{"class":160},[135,1541,1542,1544,1546,1548,1550,1552,1555,1557,1559,1561,1564,1566],{"class":137,"line":184},[135,1543,223],{"class":152},[135,1545,226],{"class":160},[135,1547,87],{"class":148},[135,1549,153],{"class":199},[135,1551,270],{"class":160},[135,1553,1554],{"class":266},"checkout",[135,1556,270],{"class":160},[135,1558,255],{"class":160},[135,1560,263],{"class":160},[135,1562,1563],{"class":266},"User initiated checkout",[135,1565,270],{"class":160},[135,1567,204],{"class":199},[135,1569,1570],{"class":137,"line":207},[135,1571,211],{"emptyLinePlaceholder":210},[135,1573,1574,1576],{"class":137,"line":214},[135,1575,994],{"class":141},[135,1577,174],{"class":160},[135,1579,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608],{"class":137,"line":220},[135,1581,1001],{"class":141},[135,1583,1004],{"class":148},[135,1585,153],{"class":199},[135,1587,270],{"class":160},[135,1589,1011],{"class":266},[135,1591,270],{"class":160},[135,1593,255],{"class":160},[135,1595,243],{"class":160},[135,1597,1020],{"class":199},[135,1599,240],{"class":160},[135,1601,263],{"class":160},[135,1603,1027],{"class":266},[135,1605,270],{"class":160},[135,1607,273],{"class":160},[135,1609,204],{"class":199},[135,1611,1612,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635,1638,1640,1642,1644,1646,1648],{"class":137,"line":280},[135,1613,1614],{"class":152},"    log",[135,1616,226],{"class":160},[135,1618,87],{"class":148},[135,1620,153],{"class":199},[135,1622,234],{"class":160},[135,1624,1369],{"class":199},[135,1626,240],{"class":160},[135,1628,263],{"class":160},[135,1630,1554],{"class":266},[135,1632,270],{"class":160},[135,1634,255],{"class":160},[135,1636,1637],{"class":199}," status",[135,1639,240],{"class":160},[135,1641,263],{"class":160},[135,1643,501],{"class":266},[135,1645,270],{"class":160},[135,1647,273],{"class":160},[135,1649,204],{"class":199},[135,1651,1652,1654,1656,1658,1660,1662],{"class":137,"line":324},[135,1653,1047],{"class":160},[135,1655,1050],{"class":141},[135,1657,161],{"class":199},[135,1659,1055],{"class":152},[135,1661,1058],{"class":199},[135,1663,620],{"class":160},[135,1665,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1697,1699,1701],{"class":137,"line":329},[135,1667,1614],{"class":152},[135,1669,226],{"class":160},[135,1671,1143],{"class":148},[135,1673,153],{"class":199},[135,1675,234],{"class":160},[135,1677,1369],{"class":199},[135,1679,240],{"class":160},[135,1681,263],{"class":160},[135,1683,1554],{"class":266},[135,1685,270],{"class":160},[135,1687,255],{"class":160},[135,1689,1068],{"class":199},[135,1691,240],{"class":160},[135,1693,263],{"class":160},[135,1695,1696],{"class":266},"failed",[135,1698,270],{"class":160},[135,1700,273],{"class":160},[135,1702,204],{"class":199},[135,1704,1705],{"class":137,"line":335},[135,1706,827],{"class":160},[135,1708,1709],{"class":137,"line":354},[135,1710,832],{"class":160},[135,1712,1713,1716,1718],{"class":137,"line":383},[135,1714,1715],{"class":160},"\u003C/",[135,1717,1507],{"class":199},[135,1719,1525],{"class":160},[125,1721,1724],{"className":127,"code":1722,"filename":1723,"language":130,"meta":131,"style":131},"export function useAnalytics() {\n  function trackEvent(event: string, data?: Record\u003Cstring, unknown>) {\n    log.info('analytics', `Event: ${event}`)\n    if (data) {\n      log.debug({ event, ...data })\n    }\n  }\n\n  return { trackEvent }\n}\n","composables/useAnalytics.ts",[95,1725,1726,1739,1782,1815,1827,1855,1859,1863,1867,1877],{"__ignoreMap":131},[135,1727,1728,1730,1732,1735,1737],{"class":137,"line":138},[135,1729,142],{"class":141},[135,1731,972],{"class":156},[135,1733,1734],{"class":148}," useAnalytics",[135,1736,1537],{"class":160},[135,1738,174],{"class":160},[135,1740,1741,1744,1747,1749,1751,1753,1756,1758,1761,1764,1767,1769,1772,1774,1777,1780],{"class":137,"line":177},[135,1742,1743],{"class":156},"  function",[135,1745,1746],{"class":148}," trackEvent",[135,1748,153],{"class":160},[135,1750,165],{"class":164},[135,1752,240],{"class":160},[135,1754,1755],{"class":444}," string",[135,1757,255],{"class":160},[135,1759,1760],{"class":164}," data",[135,1762,1763],{"class":160},"?:",[135,1765,1766],{"class":444}," Record",[135,1768,1504],{"class":160},[135,1770,1771],{"class":444},"string",[135,1773,255],{"class":160},[135,1775,1776],{"class":444}," unknown",[135,1778,1779],{"class":160},">)",[135,1781,174],{"class":160},[135,1783,1784,1786,1788,1790,1792,1794,1797,1799,1801,1804,1807,1809,1811,1813],{"class":137,"line":184},[135,1785,1614],{"class":152},[135,1787,226],{"class":160},[135,1789,87],{"class":148},[135,1791,153],{"class":199},[135,1793,270],{"class":160},[135,1795,1796],{"class":266},"analytics",[135,1798,270],{"class":160},[135,1800,255],{"class":160},[135,1802,1803],{"class":160}," `",[135,1805,1806],{"class":266},"Event: ",[135,1808,1279],{"class":160},[135,1810,165],{"class":152},[135,1812,1288],{"class":160},[135,1814,204],{"class":199},[135,1816,1817,1819,1821,1823,1825],{"class":137,"line":207},[135,1818,1246],{"class":141},[135,1820,161],{"class":199},[135,1822,759],{"class":152},[135,1824,1058],{"class":199},[135,1826,620],{"class":160},[135,1828,1829,1832,1834,1837,1839,1841,1844,1846,1849,1851,1853],{"class":137,"line":214},[135,1830,1831],{"class":152},"      log",[135,1833,226],{"class":160},[135,1835,1836],{"class":148},"debug",[135,1838,153],{"class":199},[135,1840,234],{"class":160},[135,1842,1843],{"class":152}," event",[135,1845,255],{"class":160},[135,1847,1848],{"class":160}," ...",[135,1850,759],{"class":152},[135,1852,273],{"class":160},[135,1854,204],{"class":199},[135,1856,1857],{"class":137,"line":220},[135,1858,1296],{"class":160},[135,1860,1861],{"class":137,"line":280},[135,1862,827],{"class":160},[135,1864,1865],{"class":137,"line":324},[135,1866,211],{"emptyLinePlaceholder":210},[135,1868,1869,1871,1873,1875],{"class":137,"line":329},[135,1870,397],{"class":141},[135,1872,243],{"class":160},[135,1874,1746],{"class":152},[135,1876,423],{"class":160},[135,1878,1879],{"class":137,"line":335},[135,1880,832],{"class":160},[81,1882,1883],{},"In pretty mode (development), client logs appear with colored tags in the browser console:",[125,1885,1890],{"className":1886,"code":1888,"language":1889},[1887],"language-text","[my-app] info { action: 'checkout', status: 'success' }\n","text",[95,1891,1888],{"__ignoreMap":131},[85,1893,1894,1895,1897],{"color":87,"icon":13},"Client-side ",[95,1896,101],{}," is designed for debugging and development. For production analytics, use dedicated services like Plausible, PostHog, or Mixpanel.",[110,1899,1901],{"id":1900},"wide-event-fields","Wide Event Fields",[81,1903,1904],{},"Every wide event should include context from different layers:",[122,1906,1907,2126],{},[125,1908,1910],{"className":127,"code":1909,"filename":574,"language":130,"meta":131,"style":131},"// server/api/checkout.post.ts\nconst log = useLogger(event)\n\n// Request context (often auto-populated)\nlog.set({ method: 'POST', path: '/api/checkout' })\n\n// User context\nlog.set({ userId: 1, subscription: 'pro' })\n\n// Business context\nlog.set({ cart: { items: 3, total: 9999 }, coupon: 'SAVE10' })\n\n// Outcome\nlog.set({ status: 200, duration: 234 })\n",[95,1911,1912,1916,1931,1935,1940,1979,1983,1988,2024,2028,2033,2084,2088,2093],{"__ignoreMap":131},[135,1913,1914],{"class":137,"line":138},[135,1915,581],{"class":180},[135,1917,1918,1921,1924,1926,1928],{"class":137,"line":177},[135,1919,1920],{"class":156},"const",[135,1922,1923],{"class":152}," log ",[135,1925,1451],{"class":160},[135,1927,196],{"class":148},[135,1929,1930],{"class":152},"(event)\n",[135,1932,1933],{"class":137,"line":184},[135,1934,211],{"emptyLinePlaceholder":210},[135,1936,1937],{"class":137,"line":207},[135,1938,1939],{"class":180},"// Request context (often auto-populated)\n",[135,1941,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1967,1969,1971,1973,1975,1977],{"class":137,"line":214},[135,1943,101],{"class":152},[135,1945,226],{"class":160},[135,1947,229],{"class":148},[135,1949,153],{"class":152},[135,1951,234],{"class":160},[135,1953,1020],{"class":199},[135,1955,240],{"class":160},[135,1957,263],{"class":160},[135,1959,1027],{"class":266},[135,1961,270],{"class":160},[135,1963,255],{"class":160},[135,1965,1966],{"class":199}," path",[135,1968,240],{"class":160},[135,1970,263],{"class":160},[135,1972,1011],{"class":266},[135,1974,270],{"class":160},[135,1976,273],{"class":160},[135,1978,204],{"class":152},[135,1980,1981],{"class":137,"line":220},[135,1982,211],{"emptyLinePlaceholder":210},[135,1984,1985],{"class":137,"line":280},[135,1986,1987],{"class":180},"// User context\n",[135,1989,1990,1992,1994,1996,1998,2000,2003,2005,2007,2009,2012,2014,2016,2018,2020,2022],{"class":137,"line":324},[135,1991,101],{"class":152},[135,1993,226],{"class":160},[135,1995,229],{"class":148},[135,1997,153],{"class":152},[135,1999,234],{"class":160},[135,2001,2002],{"class":199}," userId",[135,2004,240],{"class":160},[135,2006,252],{"class":251},[135,2008,255],{"class":160},[135,2010,2011],{"class":199}," subscription",[135,2013,240],{"class":160},[135,2015,263],{"class":160},[135,2017,267],{"class":266},[135,2019,270],{"class":160},[135,2021,273],{"class":160},[135,2023,204],{"class":152},[135,2025,2026],{"class":137,"line":329},[135,2027,211],{"emptyLinePlaceholder":210},[135,2029,2030],{"class":137,"line":335},[135,2031,2032],{"class":180},"// Business context\n",[135,2034,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2065,2068,2071,2073,2075,2078,2080,2082],{"class":137,"line":354},[135,2036,101],{"class":152},[135,2038,226],{"class":160},[135,2040,229],{"class":148},[135,2042,153],{"class":152},[135,2044,234],{"class":160},[135,2046,293],{"class":199},[135,2048,240],{"class":160},[135,2050,243],{"class":160},[135,2052,300],{"class":199},[135,2054,240],{"class":160},[135,2056,305],{"class":251},[135,2058,255],{"class":160},[135,2060,310],{"class":199},[135,2062,240],{"class":160},[135,2064,315],{"class":251},[135,2066,2067],{"class":160}," },",[135,2069,2070],{"class":199}," coupon",[135,2072,240],{"class":160},[135,2074,263],{"class":160},[135,2076,2077],{"class":266},"SAVE10",[135,2079,270],{"class":160},[135,2081,273],{"class":160},[135,2083,204],{"class":152},[135,2085,2086],{"class":137,"line":383},[135,2087,211],{"emptyLinePlaceholder":210},[135,2089,2090],{"class":137,"line":388},[135,2091,2092],{"class":180},"// Outcome\n",[135,2094,2095,2097,2099,2101,2103,2105,2107,2109,2112,2114,2117,2119,2122,2124],{"class":137,"line":394},[135,2096,101],{"class":152},[135,2098,226],{"class":160},[135,2100,229],{"class":148},[135,2102,153],{"class":152},[135,2104,234],{"class":160},[135,2106,1637],{"class":199},[135,2108,240],{"class":160},[135,2110,2111],{"class":251}," 200",[135,2113,255],{"class":160},[135,2115,2116],{"class":199}," duration",[135,2118,240],{"class":160},[135,2120,2121],{"class":251}," 234",[135,2123,273],{"class":160},[135,2125,204],{"class":152},[125,2127,2130],{"className":706,"code":2128,"filename":2129,"language":709,"meta":131,"style":131},"{\n  \"level\": \"info\",\n  \"method\": \"POST\",\n  \"path\": \"/api/checkout\",\n  \"userId\": 1,\n  \"subscription\": \"pro\",\n  \"cart\": { \"items\": 3, \"total\": 9999 },\n  \"coupon\": \"SAVE10\",\n  \"status\": 200,\n  \"duration\": 234\n}\n","JSON Output (Production)",[95,2131,2132,2136,2155,2174,2193,2208,2227,2266,2285,2299,2313],{"__ignoreMap":131},[135,2133,2134],{"class":137,"line":138},[135,2135,620],{"class":160},[135,2137,2138,2140,2143,2145,2147,2149,2151,2153],{"class":137,"line":177},[135,2139,720],{"class":160},[135,2141,2142],{"class":156},"level",[135,2144,726],{"class":160},[135,2146,240],{"class":160},[135,2148,746],{"class":160},[135,2150,87],{"class":266},[135,2152,726],{"class":160},[135,2154,637],{"class":160},[135,2156,2157,2159,2162,2164,2166,2168,2170,2172],{"class":137,"line":184},[135,2158,720],{"class":160},[135,2160,2161],{"class":156},"method",[135,2163,726],{"class":160},[135,2165,240],{"class":160},[135,2167,746],{"class":160},[135,2169,1027],{"class":266},[135,2171,726],{"class":160},[135,2173,637],{"class":160},[135,2175,2176,2178,2181,2183,2185,2187,2189,2191],{"class":137,"line":207},[135,2177,720],{"class":160},[135,2179,2180],{"class":156},"path",[135,2182,726],{"class":160},[135,2184,240],{"class":160},[135,2186,746],{"class":160},[135,2188,1011],{"class":266},[135,2190,726],{"class":160},[135,2192,637],{"class":160},[135,2194,2195,2197,2200,2202,2204,2206],{"class":137,"line":214},[135,2196,720],{"class":160},[135,2198,2199],{"class":156},"userId",[135,2201,726],{"class":160},[135,2203,240],{"class":160},[135,2205,252],{"class":251},[135,2207,637],{"class":160},[135,2209,2210,2212,2215,2217,2219,2221,2223,2225],{"class":137,"line":220},[135,2211,720],{"class":160},[135,2213,2214],{"class":156},"subscription",[135,2216,726],{"class":160},[135,2218,240],{"class":160},[135,2220,746],{"class":160},[135,2222,267],{"class":266},[135,2224,726],{"class":160},[135,2226,637],{"class":160},[135,2228,2229,2231,2233,2235,2237,2239,2241,2244,2246,2248,2250,2252,2254,2257,2259,2261,2263],{"class":137,"line":280},[135,2230,720],{"class":160},[135,2232,980],{"class":156},[135,2234,726],{"class":160},[135,2236,240],{"class":160},[135,2238,243],{"class":160},[135,2240,746],{"class":160},[135,2242,2243],{"class":444},"items",[135,2245,726],{"class":160},[135,2247,240],{"class":160},[135,2249,305],{"class":251},[135,2251,255],{"class":160},[135,2253,746],{"class":160},[135,2255,2256],{"class":444},"total",[135,2258,726],{"class":160},[135,2260,240],{"class":160},[135,2262,315],{"class":251},[135,2264,2265],{"class":160}," },\n",[135,2267,2268,2270,2273,2275,2277,2279,2281,2283],{"class":137,"line":324},[135,2269,720],{"class":160},[135,2271,2272],{"class":156},"coupon",[135,2274,726],{"class":160},[135,2276,240],{"class":160},[135,2278,746],{"class":160},[135,2280,2077],{"class":266},[135,2282,726],{"class":160},[135,2284,637],{"class":160},[135,2286,2287,2289,2291,2293,2295,2297],{"class":137,"line":329},[135,2288,720],{"class":160},[135,2290,872],{"class":156},[135,2292,726],{"class":160},[135,2294,240],{"class":160},[135,2296,2111],{"class":251},[135,2298,637],{"class":160},[135,2300,2301,2303,2306,2308,2310],{"class":137,"line":335},[135,2302,720],{"class":160},[135,2304,2305],{"class":156},"duration",[135,2307,726],{"class":160},[135,2309,240],{"class":160},[135,2311,2312],{"class":251}," 234\n",[135,2314,2315],{"class":137,"line":354},[135,2316,832],{"class":160},[110,2318,2320],{"id":2319},"next-steps","Next Steps",[2322,2323,2324,2331,2336],"ul",{},[2325,2326,2327,2330],"li",{},[2328,2329,36],"a",{"href":37}," - Learn how to design effective wide events",[2325,2332,2333,2335],{},[2328,2334,41],{"href":42}," - Master error handling with evlog",[2325,2337,2338,2340],{},[2328,2339,46],{"href":47}," - Security guidelines and production tips",[2342,2343,2344],"style",{},"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":131,"searchDepth":177,"depth":177,"links":2346},[2347,2350,2354,2355,2356,2357],{"id":112,"depth":177,"text":113,"children":2348},[2349],{"id":511,"depth":184,"text":512},{"id":561,"depth":177,"text":562,"children":2351},[2352,2353],{"id":835,"depth":184,"text":836},{"id":926,"depth":184,"text":927},{"id":1309,"depth":177,"text":1310},{"id":1482,"depth":177,"text":1483},{"id":1900,"depth":177,"text":1901},{"id":2319,"depth":177,"text":2320},"Get up and running with evlog in minutes. Learn useLogger, createError, parseError, and the log API for wide events and structured errors.","md",[2361,2362],{"label":36,"icon":39,"to":37},{"label":41,"icon":44,"to":42},{},{"icon":23},{"title":20,"description":2358},"G3vabReQ2LbUEr2YOz7jAqkwlChSumZ69oLbtXWpu8Y",[2368,2370],{"title":15,"path":16,"stem":17,"description":2369,"icon":18,"children":-1},"Install evlog in your Nuxt, Nitro, Cloudflare Workers, or standalone TypeScript project. Configure sampling, log draining, and client transport.",{"title":25,"path":26,"stem":27,"description":2371,"icon":28,"children":-1},"AI-assisted code review and evlog adoption using Agent Skills. Let AI review your logging patterns and guide migration to wide events.",1770241221236]