[{"data":1,"prerenderedAt":1862},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-quick-start":47,"-getting-started-quick-start-surround":1857},[4,23,37],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting Started","i-lucide-rocket","/getting-started","1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":15,"path":16,"stem":17},"Installation","/getting-started/installation","1.getting-started/2.installation",{"title":19,"path":20,"stem":21},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Core Concepts","i-lucide-book-open","/core-concepts","2.core-concepts",[29,33],{"title":30,"path":31,"stem":32},"Wide Events","/core-concepts/wide-events","2.core-concepts/1.wide-events",{"title":34,"path":35,"stem":36},"Structured Errors","/core-concepts/structured-errors","2.core-concepts/2.structured-errors",{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":22},"Extras","i-lucide-puzzle","/extras","3.extras",[43],{"title":44,"path":45,"stem":46},"Agent Skills","/extras/agent-skills","3.extras/1.agent-skills",{"id":48,"title":19,"body":49,"description":1851,"extension":1852,"links":1853,"meta":1854,"navigation":158,"path":20,"seo":1855,"stem":21,"__hash__":1856},"docs/1.getting-started/3.quick-start.md",{"type":50,"value":51,"toc":1841},"minimark",[52,56,61,69,383,393,397,404,666,671,764,768,774,1153,1157,1160,1385,1397,1401,1404,1818,1822,1837],[53,54,55],"p",{},"This guide covers the core APIs you'll use most often with evlog.",[57,58,60],"h2",{"id":59},"uselogger-nuxtnitro","useLogger (Nuxt/Nitro)",[53,62,63,64,68],{},"In API routes, use ",[65,66,67],"code",{},"useLogger(event)"," to get a request-scoped logger:",[70,71,72,303],"code-group",{},[73,74,80],"pre",{"className":75,"code":76,"filename":77,"language":78,"meta":79,"style":79},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","// server/api/checkout.post.ts\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n\n  log.set({ user: { id: 1, plan: 'pro' } })\n  log.set({ cart: { items: 3, total: 9999 } })\n\n  // Auto-emits on request end\n  return { success: true }\n})\n","Code","typescript","",[65,81,82,91,130,153,160,220,264,269,275,295],{"__ignoreMap":79},[83,84,87],"span",{"class":85,"line":86},"line",1,[83,88,90],{"class":89},"sHwdD","// server/api/checkout.post.ts\n",[83,92,94,98,101,105,109,113,117,121,124,127],{"class":85,"line":93},2,[83,95,97],{"class":96},"s7zQu","export",[83,99,100],{"class":96}," default",[83,102,104],{"class":103},"s2Zo4"," defineEventHandler",[83,106,108],{"class":107},"sTEyZ","(",[83,110,112],{"class":111},"spNyl","async",[83,114,116],{"class":115},"sMK4o"," (",[83,118,120],{"class":119},"sHdIc","event",[83,122,123],{"class":115},")",[83,125,126],{"class":111}," =>",[83,128,129],{"class":115}," {\n",[83,131,133,136,139,142,145,148,150],{"class":85,"line":132},3,[83,134,135],{"class":111},"  const",[83,137,138],{"class":107}," log",[83,140,141],{"class":115}," =",[83,143,144],{"class":103}," useLogger",[83,146,108],{"class":147},"swJcz",[83,149,120],{"class":107},[83,151,152],{"class":147},")\n",[83,154,156],{"class":85,"line":155},4,[83,157,159],{"emptyLinePlaceholder":158},true,"\n",[83,161,163,166,169,172,174,177,180,183,186,189,191,195,198,201,203,206,210,213,216,218],{"class":85,"line":162},5,[83,164,165],{"class":107},"  log",[83,167,168],{"class":115},".",[83,170,171],{"class":103},"set",[83,173,108],{"class":147},[83,175,176],{"class":115},"{",[83,178,179],{"class":147}," user",[83,181,182],{"class":115},":",[83,184,185],{"class":115}," {",[83,187,188],{"class":147}," id",[83,190,182],{"class":115},[83,192,194],{"class":193},"sbssI"," 1",[83,196,197],{"class":115},",",[83,199,200],{"class":147}," plan",[83,202,182],{"class":115},[83,204,205],{"class":115}," '",[83,207,209],{"class":208},"sfazB","pro",[83,211,212],{"class":115},"'",[83,214,215],{"class":115}," }",[83,217,215],{"class":115},[83,219,152],{"class":147},[83,221,223,225,227,229,231,233,236,238,240,243,245,248,250,253,255,258,260,262],{"class":85,"line":222},6,[83,224,165],{"class":107},[83,226,168],{"class":115},[83,228,171],{"class":103},[83,230,108],{"class":147},[83,232,176],{"class":115},[83,234,235],{"class":147}," cart",[83,237,182],{"class":115},[83,239,185],{"class":115},[83,241,242],{"class":147}," items",[83,244,182],{"class":115},[83,246,247],{"class":193}," 3",[83,249,197],{"class":115},[83,251,252],{"class":147}," total",[83,254,182],{"class":115},[83,256,257],{"class":193}," 9999",[83,259,215],{"class":115},[83,261,215],{"class":115},[83,263,152],{"class":147},[83,265,267],{"class":85,"line":266},7,[83,268,159],{"emptyLinePlaceholder":158},[83,270,272],{"class":85,"line":271},8,[83,273,274],{"class":89},"  // Auto-emits on request end\n",[83,276,278,281,283,286,288,292],{"class":85,"line":277},9,[83,279,280],{"class":96},"  return",[83,282,185],{"class":115},[83,284,285],{"class":147}," success",[83,287,182],{"class":115},[83,289,291],{"class":290},"sfNiH"," true",[83,293,294],{"class":115}," }\n",[83,296,298,301],{"class":85,"line":297},10,[83,299,300],{"class":115},"}",[83,302,152],{"class":107},[73,304,309],{"className":305,"code":306,"filename":307,"language":308,"meta":79,"style":79},"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: { items: 3, total: 9999 }\n  status: 200\n","Output","bash",[65,310,311,331,355,375],{"__ignoreMap":79},[83,312,313,316,319,322,325,329],{"class":85,"line":86},[83,314,315],{"class":115},"[",[83,317,318],{"class":107},"INFO",[83,320,321],{"class":115},"]",[83,323,324],{"class":107}," POST /api/checkout (",[83,326,328],{"class":327},"sBMFI","234ms",[83,330,152],{"class":107},[83,332,333,336,338,341,344,347,349,351,353],{"class":85,"line":93},[83,334,335],{"class":327},"  user:",[83,337,185],{"class":208},[83,339,340],{"class":208}," id:",[83,342,343],{"class":208}," 1,",[83,345,346],{"class":208}," plan:",[83,348,205],{"class":115},[83,350,209],{"class":208},[83,352,212],{"class":115},[83,354,294],{"class":208},[83,356,357,360,362,365,368,371,373],{"class":85,"line":132},[83,358,359],{"class":327},"  cart:",[83,361,185],{"class":208},[83,363,364],{"class":208}," items:",[83,366,367],{"class":208}," 3,",[83,369,370],{"class":208}," total:",[83,372,257],{"class":193},[83,374,294],{"class":208},[83,376,377,380],{"class":85,"line":155},[83,378,379],{"class":327},"  status:",[83,381,382],{"class":193}," 200\n",[384,385,388,389,392],"callout",{"color":386,"icon":387},"success","i-lucide-check","The logger automatically emits when the request ends. No manual ",[65,390,391],{},"emit()"," call needed.",[57,394,396],{"id":395},"createerror-structured-errors","createError (Structured Errors)",[53,398,399,400,403],{},"Use ",[65,401,402],{},"createError()"," to throw errors with actionable context:",[70,405,406,537],{},[73,407,409],{"className":75,"code":408,"filename":77,"language":78,"meta":79,"style":79},"// 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",[65,410,411,415,438,442,454,471,483,499,515,531],{"__ignoreMap":79},[83,412,413],{"class":85,"line":86},[83,414,90],{"class":89},[83,416,417,420,422,425,427,430,432,435],{"class":85,"line":93},[83,418,419],{"class":96},"import",[83,421,185],{"class":115},[83,423,424],{"class":107}," createError",[83,426,215],{"class":115},[83,428,429],{"class":96}," from",[83,431,205],{"class":115},[83,433,434],{"class":208},"evlog",[83,436,437],{"class":115},"'\n",[83,439,440],{"class":85,"line":132},[83,441,159],{"emptyLinePlaceholder":158},[83,443,444,447,449,451],{"class":85,"line":155},[83,445,446],{"class":96},"throw",[83,448,424],{"class":103},[83,450,108],{"class":107},[83,452,453],{"class":115},"{\n",[83,455,456,459,461,463,466,468],{"class":85,"line":162},[83,457,458],{"class":147},"  message",[83,460,182],{"class":115},[83,462,205],{"class":115},[83,464,465],{"class":208},"Payment failed",[83,467,212],{"class":115},[83,469,470],{"class":115},",\n",[83,472,473,476,478,481],{"class":85,"line":222},[83,474,475],{"class":147},"  status",[83,477,182],{"class":115},[83,479,480],{"class":193}," 402",[83,482,470],{"class":115},[83,484,485,488,490,492,495,497],{"class":85,"line":266},[83,486,487],{"class":147},"  why",[83,489,182],{"class":115},[83,491,205],{"class":115},[83,493,494],{"class":208},"Card declined by issuer",[83,496,212],{"class":115},[83,498,470],{"class":115},[83,500,501,504,506,508,511,513],{"class":85,"line":271},[83,502,503],{"class":147},"  fix",[83,505,182],{"class":115},[83,507,205],{"class":115},[83,509,510],{"class":208},"Try a different payment method",[83,512,212],{"class":115},[83,514,470],{"class":115},[83,516,517,520,522,524,527,529],{"class":85,"line":277},[83,518,519],{"class":147},"  link",[83,521,182],{"class":115},[83,523,205],{"class":115},[83,525,526],{"class":208},"https://docs.example.com/payments/declined",[83,528,212],{"class":115},[83,530,470],{"class":115},[83,532,533,535],{"class":85,"line":297},[83,534,300],{"class":115},[83,536,152],{"class":107},[73,538,543],{"className":539,"code":540,"filename":541,"language":542,"meta":79,"style":79},"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",[65,544,545,549,566,586,599,619,638,656,661],{"__ignoreMap":79},[83,546,547],{"class":85,"line":86},[83,548,453],{"class":115},[83,550,551,554,557,560,562,564],{"class":85,"line":93},[83,552,553],{"class":115},"  \"",[83,555,556],{"class":111},"statusCode",[83,558,559],{"class":115},"\"",[83,561,182],{"class":115},[83,563,480],{"class":193},[83,565,470],{"class":115},[83,567,568,570,573,575,577,580,582,584],{"class":85,"line":132},[83,569,553],{"class":115},[83,571,572],{"class":111},"message",[83,574,559],{"class":115},[83,576,182],{"class":115},[83,578,579],{"class":115}," \"",[83,581,465],{"class":208},[83,583,559],{"class":115},[83,585,470],{"class":115},[83,587,588,590,593,595,597],{"class":85,"line":155},[83,589,553],{"class":115},[83,591,592],{"class":111},"data",[83,594,559],{"class":115},[83,596,182],{"class":115},[83,598,129],{"class":115},[83,600,601,604,607,609,611,613,615,617],{"class":85,"line":162},[83,602,603],{"class":115},"    \"",[83,605,606],{"class":327},"why",[83,608,559],{"class":115},[83,610,182],{"class":115},[83,612,579],{"class":115},[83,614,494],{"class":208},[83,616,559],{"class":115},[83,618,470],{"class":115},[83,620,621,623,626,628,630,632,634,636],{"class":85,"line":222},[83,622,603],{"class":115},[83,624,625],{"class":327},"fix",[83,627,559],{"class":115},[83,629,182],{"class":115},[83,631,579],{"class":115},[83,633,510],{"class":208},[83,635,559],{"class":115},[83,637,470],{"class":115},[83,639,640,642,645,647,649,651,653],{"class":85,"line":266},[83,641,603],{"class":115},[83,643,644],{"class":327},"link",[83,646,559],{"class":115},[83,648,182],{"class":115},[83,650,579],{"class":115},[83,652,526],{"class":208},[83,654,655],{"class":115},"\"\n",[83,657,658],{"class":85,"line":271},[83,659,660],{"class":115},"  }\n",[83,662,663],{"class":85,"line":277},[83,664,665],{"class":115},"}\n",[667,668,670],"h3",{"id":669},"error-fields","Error Fields",[672,673,674,690],"table",{},[675,676,677],"thead",{},[678,679,680,684,687],"tr",{},[681,682,683],"th",{},"Field",[681,685,686],{},"Required",[681,688,689],{},"Description",[691,692,693,706,719,730,741,752],"tbody",{},[678,694,695,700,703],{},[696,697,698],"td",{},[65,699,572],{},[696,701,702],{},"Yes",[696,704,705],{},"What happened (user-facing)",[678,707,708,713,716],{},[696,709,710],{},[65,711,712],{},"status",[696,714,715],{},"No",[696,717,718],{},"HTTP status code (default: 500)",[678,720,721,725,727],{},[696,722,723],{},[65,724,606],{},[696,726,715],{},[696,728,729],{},"Technical reason (for debugging)",[678,731,732,736,738],{},[696,733,734],{},[65,735,625],{},[696,737,715],{},[696,739,740],{},"Actionable solution",[678,742,743,747,749],{},[696,744,745],{},[65,746,644],{},[696,748,715],{},[696,750,751],{},"Documentation URL for more info",[678,753,754,759,761],{},[696,755,756],{},[65,757,758],{},"cause",[696,760,715],{},[696,762,763],{},"Original error (if wrapping)",[667,765,767],{"id":766},"frontend-integration","Frontend Integration",[53,769,399,770,773],{},[65,771,772],{},"parseError()"," to extract all error fields on the client:",[73,775,778],{"className":75,"code":776,"filename":777,"language":78,"meta":79,"style":79},"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",[65,779,780,799,803,830,837,883,901,919,923,928,942,958,974,991,1006,1064,1073,1081,1086,1104,1137,1143,1148],{"__ignoreMap":79},[83,781,782,784,786,789,791,793,795,797],{"class":85,"line":86},[83,783,419],{"class":96},[83,785,185],{"class":115},[83,787,788],{"class":107}," parseError",[83,790,215],{"class":115},[83,792,429],{"class":96},[83,794,205],{"class":115},[83,796,434],{"class":208},[83,798,437],{"class":115},[83,800,801],{"class":85,"line":93},[83,802,159],{"emptyLinePlaceholder":158},[83,804,805,807,810,813,816,818,821,823,826,828],{"class":85,"line":132},[83,806,97],{"class":96},[83,808,809],{"class":111}," async",[83,811,812],{"class":111}," function",[83,814,815],{"class":103}," checkout",[83,817,108],{"class":115},[83,819,820],{"class":119},"cart",[83,822,182],{"class":115},[83,824,825],{"class":327}," Cart",[83,827,123],{"class":115},[83,829,129],{"class":115},[83,831,832,835],{"class":85,"line":155},[83,833,834],{"class":96},"  try",[83,836,129],{"class":115},[83,838,839,842,845,847,849,852,854,856,858,861,863,865,868,870,872,875,877,879,881],{"class":85,"line":162},[83,840,841],{"class":96},"    await",[83,843,844],{"class":103}," $fetch",[83,846,108],{"class":147},[83,848,212],{"class":115},[83,850,851],{"class":208},"/api/checkout",[83,853,212],{"class":115},[83,855,197],{"class":115},[83,857,185],{"class":115},[83,859,860],{"class":147}," method",[83,862,182],{"class":115},[83,864,205],{"class":115},[83,866,867],{"class":208},"POST",[83,869,212],{"class":115},[83,871,197],{"class":115},[83,873,874],{"class":147}," body",[83,876,182],{"class":115},[83,878,235],{"class":107},[83,880,215],{"class":115},[83,882,152],{"class":147},[83,884,885,888,891,893,896,899],{"class":85,"line":222},[83,886,887],{"class":115},"  }",[83,889,890],{"class":96}," catch",[83,892,116],{"class":147},[83,894,895],{"class":107},"err",[83,897,898],{"class":147},") ",[83,900,453],{"class":115},[83,902,903,906,909,911,913,915,917],{"class":85,"line":266},[83,904,905],{"class":111},"    const",[83,907,908],{"class":107}," error",[83,910,141],{"class":115},[83,912,788],{"class":103},[83,914,108],{"class":147},[83,916,895],{"class":107},[83,918,152],{"class":147},[83,920,921],{"class":85,"line":271},[83,922,159],{"emptyLinePlaceholder":158},[83,924,925],{"class":85,"line":277},[83,926,927],{"class":89},"    // Direct access to all fields\n",[83,929,930,933,935,938,940],{"class":85,"line":297},[83,931,932],{"class":107},"    toast",[83,934,168],{"class":115},[83,936,937],{"class":103},"add",[83,939,108],{"class":147},[83,941,453],{"class":115},[83,943,945,948,950,952,954,956],{"class":85,"line":944},11,[83,946,947],{"class":147},"      title",[83,949,182],{"class":115},[83,951,908],{"class":107},[83,953,168],{"class":115},[83,955,572],{"class":107},[83,957,470],{"class":115},[83,959,961,964,966,968,970,972],{"class":85,"line":960},12,[83,962,963],{"class":147},"      description",[83,965,182],{"class":115},[83,967,908],{"class":107},[83,969,168],{"class":115},[83,971,606],{"class":107},[83,973,470],{"class":115},[83,975,977,980,982,984,987,989],{"class":85,"line":976},13,[83,978,979],{"class":147},"      color",[83,981,182],{"class":115},[83,983,205],{"class":115},[83,985,986],{"class":208},"error",[83,988,212],{"class":115},[83,990,470],{"class":115},[83,992,994,997,999,1001,1003],{"class":85,"line":993},14,[83,995,996],{"class":147},"      actions",[83,998,182],{"class":115},[83,1000,908],{"class":107},[83,1002,168],{"class":115},[83,1004,1005],{"class":107},"link\n",[83,1007,1009,1012,1015,1017,1020,1022,1024,1027,1029,1031,1034,1036,1039,1041,1044,1046,1049,1051,1053,1055,1057,1059,1061],{"class":85,"line":1008},15,[83,1010,1011],{"class":115},"        ?",[83,1013,1014],{"class":147}," [",[83,1016,176],{"class":115},[83,1018,1019],{"class":147}," label",[83,1021,182],{"class":115},[83,1023,205],{"class":115},[83,1025,1026],{"class":208},"Learn more",[83,1028,212],{"class":115},[83,1030,197],{"class":115},[83,1032,1033],{"class":103}," onClick",[83,1035,182],{"class":115},[83,1037,1038],{"class":115}," ()",[83,1040,126],{"class":111},[83,1042,1043],{"class":107}," window",[83,1045,168],{"class":115},[83,1047,1048],{"class":103},"open",[83,1050,108],{"class":147},[83,1052,986],{"class":107},[83,1054,168],{"class":115},[83,1056,644],{"class":107},[83,1058,898],{"class":147},[83,1060,300],{"class":115},[83,1062,1063],{"class":147},"]\n",[83,1065,1067,1070],{"class":85,"line":1066},16,[83,1068,1069],{"class":115},"        :",[83,1071,1072],{"class":115}," undefined,\n",[83,1074,1076,1079],{"class":85,"line":1075},17,[83,1077,1078],{"class":115},"    }",[83,1080,152],{"class":147},[83,1082,1084],{"class":85,"line":1083},18,[83,1085,159],{"emptyLinePlaceholder":158},[83,1087,1089,1092,1094,1096,1098,1100,1102],{"class":85,"line":1088},19,[83,1090,1091],{"class":96},"    if",[83,1093,116],{"class":147},[83,1095,986],{"class":107},[83,1097,168],{"class":115},[83,1099,625],{"class":107},[83,1101,898],{"class":147},[83,1103,453],{"class":115},[83,1105,1107,1110,1112,1115,1117,1120,1123,1126,1128,1130,1132,1135],{"class":85,"line":1106},20,[83,1108,1109],{"class":107},"      console",[83,1111,168],{"class":115},[83,1113,1114],{"class":103},"info",[83,1116,108],{"class":147},[83,1118,1119],{"class":115},"`",[83,1121,1122],{"class":208},"Fix: ",[83,1124,1125],{"class":115},"${",[83,1127,986],{"class":107},[83,1129,168],{"class":115},[83,1131,625],{"class":107},[83,1133,1134],{"class":115},"}`",[83,1136,152],{"class":147},[83,1138,1140],{"class":85,"line":1139},21,[83,1141,1142],{"class":115},"    }\n",[83,1144,1146],{"class":85,"line":1145},22,[83,1147,660],{"class":115},[83,1149,1151],{"class":85,"line":1150},23,[83,1152,665],{"class":115},[57,1154,1156],{"id":1155},"log-simple-logging","log (Simple Logging)",[53,1158,1159],{},"For quick one-off logs anywhere in your code:",[70,1161,1162,1311],{},[73,1163,1165],{"className":75,"code":1164,"filename":77,"language":78,"meta":79,"style":79},"// server/utils/auth.ts\nimport { log } from 'evlog'\n\nlog.info('auth', 'User logged in')\nlog.error({ action: 'payment', error: 'card_declined' })\nlog.warn('cache', 'Cache miss', { key: 'user:123' })\n",[65,1166,1167,1172,1190,1194,1223,1264],{"__ignoreMap":79},[83,1168,1169],{"class":85,"line":86},[83,1170,1171],{"class":89},"// server/utils/auth.ts\n",[83,1173,1174,1176,1178,1180,1182,1184,1186,1188],{"class":85,"line":93},[83,1175,419],{"class":96},[83,1177,185],{"class":115},[83,1179,138],{"class":107},[83,1181,215],{"class":115},[83,1183,429],{"class":96},[83,1185,205],{"class":115},[83,1187,434],{"class":208},[83,1189,437],{"class":115},[83,1191,1192],{"class":85,"line":132},[83,1193,159],{"emptyLinePlaceholder":158},[83,1195,1196,1199,1201,1203,1205,1207,1210,1212,1214,1216,1219,1221],{"class":85,"line":155},[83,1197,1198],{"class":107},"log",[83,1200,168],{"class":115},[83,1202,1114],{"class":103},[83,1204,108],{"class":107},[83,1206,212],{"class":115},[83,1208,1209],{"class":208},"auth",[83,1211,212],{"class":115},[83,1213,197],{"class":115},[83,1215,205],{"class":115},[83,1217,1218],{"class":208},"User logged in",[83,1220,212],{"class":115},[83,1222,152],{"class":107},[83,1224,1225,1227,1229,1231,1233,1235,1238,1240,1242,1245,1247,1249,1251,1253,1255,1258,1260,1262],{"class":85,"line":162},[83,1226,1198],{"class":107},[83,1228,168],{"class":115},[83,1230,986],{"class":103},[83,1232,108],{"class":107},[83,1234,176],{"class":115},[83,1236,1237],{"class":147}," action",[83,1239,182],{"class":115},[83,1241,205],{"class":115},[83,1243,1244],{"class":208},"payment",[83,1246,212],{"class":115},[83,1248,197],{"class":115},[83,1250,908],{"class":147},[83,1252,182],{"class":115},[83,1254,205],{"class":115},[83,1256,1257],{"class":208},"card_declined",[83,1259,212],{"class":115},[83,1261,215],{"class":115},[83,1263,152],{"class":107},[83,1265,1266,1268,1270,1273,1275,1277,1280,1282,1284,1286,1289,1291,1293,1295,1298,1300,1302,1305,1307,1309],{"class":85,"line":222},[83,1267,1198],{"class":107},[83,1269,168],{"class":115},[83,1271,1272],{"class":103},"warn",[83,1274,108],{"class":107},[83,1276,212],{"class":115},[83,1278,1279],{"class":208},"cache",[83,1281,212],{"class":115},[83,1283,197],{"class":115},[83,1285,205],{"class":115},[83,1287,1288],{"class":208},"Cache miss",[83,1290,212],{"class":115},[83,1292,197],{"class":115},[83,1294,185],{"class":115},[83,1296,1297],{"class":147}," key",[83,1299,182],{"class":115},[83,1301,205],{"class":115},[83,1303,1304],{"class":208},"user:123",[83,1306,212],{"class":115},[83,1308,215],{"class":115},[83,1310,152],{"class":107},[73,1312,1314],{"className":305,"code":1313,"filename":307,"language":308,"meta":79,"style":79},"[INFO] auth: User logged in\n[ERROR] { action: 'payment', error: 'card_declined' }\n[WARN] cache: Cache miss { key: 'user:123' }\n",[65,1315,1316,1327,1360],{"__ignoreMap":79},[83,1317,1318,1320,1322,1324],{"class":85,"line":86},[83,1319,315],{"class":115},[83,1321,318],{"class":107},[83,1323,321],{"class":115},[83,1325,1326],{"class":107}," auth: User logged in\n",[83,1328,1329,1331,1334,1336,1338,1341,1343,1345,1347,1349,1352,1354,1356,1358],{"class":85,"line":93},[83,1330,315],{"class":115},[83,1332,1333],{"class":107},"ERROR",[83,1335,321],{"class":115},[83,1337,185],{"class":115},[83,1339,1340],{"class":327}," action:",[83,1342,205],{"class":115},[83,1344,1244],{"class":208},[83,1346,212],{"class":115},[83,1348,197],{"class":208},[83,1350,1351],{"class":208}," error:",[83,1353,205],{"class":115},[83,1355,1257],{"class":208},[83,1357,212],{"class":115},[83,1359,294],{"class":208},[83,1361,1362,1364,1367,1369,1372,1374,1377,1379,1381,1383],{"class":85,"line":132},[83,1363,315],{"class":115},[83,1365,1366],{"class":107},"WARN",[83,1368,321],{"class":115},[83,1370,1371],{"class":107}," cache: Cache miss ",[83,1373,176],{"class":115},[83,1375,1376],{"class":327}," key:",[83,1378,205],{"class":115},[83,1380,1304],{"class":208},[83,1382,212],{"class":115},[83,1384,294],{"class":208},[384,1386,1389,1390,1393,1394,1396],{"color":1387,"icon":1388},"warning","i-lucide-lightbulb","Prefer wide events (",[65,1391,1392],{},"useLogger",") over simple logs when possible. Use ",[65,1395,1198],{}," for truly one-off events that don't belong to a request.",[57,1398,1400],{"id":1399},"wide-event-fields","Wide Event Fields",[53,1402,1403],{},"Every wide event should include context from different layers:",[70,1405,1406,1627],{},[73,1407,1409],{"className":75,"code":1408,"filename":77,"language":78,"meta":79,"style":79},"// 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",[65,1410,1411,1415,1431,1435,1440,1479,1483,1488,1524,1528,1533,1584,1588,1593],{"__ignoreMap":79},[83,1412,1413],{"class":85,"line":86},[83,1414,90],{"class":89},[83,1416,1417,1420,1423,1426,1428],{"class":85,"line":93},[83,1418,1419],{"class":111},"const",[83,1421,1422],{"class":107}," log ",[83,1424,1425],{"class":115},"=",[83,1427,144],{"class":103},[83,1429,1430],{"class":107},"(event)\n",[83,1432,1433],{"class":85,"line":132},[83,1434,159],{"emptyLinePlaceholder":158},[83,1436,1437],{"class":85,"line":155},[83,1438,1439],{"class":89},"// Request context (often auto-populated)\n",[83,1441,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1467,1469,1471,1473,1475,1477],{"class":85,"line":162},[83,1443,1198],{"class":107},[83,1445,168],{"class":115},[83,1447,171],{"class":103},[83,1449,108],{"class":107},[83,1451,176],{"class":115},[83,1453,860],{"class":147},[83,1455,182],{"class":115},[83,1457,205],{"class":115},[83,1459,867],{"class":208},[83,1461,212],{"class":115},[83,1463,197],{"class":115},[83,1465,1466],{"class":147}," path",[83,1468,182],{"class":115},[83,1470,205],{"class":115},[83,1472,851],{"class":208},[83,1474,212],{"class":115},[83,1476,215],{"class":115},[83,1478,152],{"class":107},[83,1480,1481],{"class":85,"line":222},[83,1482,159],{"emptyLinePlaceholder":158},[83,1484,1485],{"class":85,"line":266},[83,1486,1487],{"class":89},"// User context\n",[83,1489,1490,1492,1494,1496,1498,1500,1503,1505,1507,1509,1512,1514,1516,1518,1520,1522],{"class":85,"line":271},[83,1491,1198],{"class":107},[83,1493,168],{"class":115},[83,1495,171],{"class":103},[83,1497,108],{"class":107},[83,1499,176],{"class":115},[83,1501,1502],{"class":147}," userId",[83,1504,182],{"class":115},[83,1506,194],{"class":193},[83,1508,197],{"class":115},[83,1510,1511],{"class":147}," subscription",[83,1513,182],{"class":115},[83,1515,205],{"class":115},[83,1517,209],{"class":208},[83,1519,212],{"class":115},[83,1521,215],{"class":115},[83,1523,152],{"class":107},[83,1525,1526],{"class":85,"line":277},[83,1527,159],{"emptyLinePlaceholder":158},[83,1529,1530],{"class":85,"line":297},[83,1531,1532],{"class":89},"// Business context\n",[83,1534,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1568,1571,1573,1575,1578,1580,1582],{"class":85,"line":944},[83,1536,1198],{"class":107},[83,1538,168],{"class":115},[83,1540,171],{"class":103},[83,1542,108],{"class":107},[83,1544,176],{"class":115},[83,1546,235],{"class":147},[83,1548,182],{"class":115},[83,1550,185],{"class":115},[83,1552,242],{"class":147},[83,1554,182],{"class":115},[83,1556,247],{"class":193},[83,1558,197],{"class":115},[83,1560,252],{"class":147},[83,1562,182],{"class":115},[83,1564,257],{"class":193},[83,1566,1567],{"class":115}," },",[83,1569,1570],{"class":147}," coupon",[83,1572,182],{"class":115},[83,1574,205],{"class":115},[83,1576,1577],{"class":208},"SAVE10",[83,1579,212],{"class":115},[83,1581,215],{"class":115},[83,1583,152],{"class":107},[83,1585,1586],{"class":85,"line":960},[83,1587,159],{"emptyLinePlaceholder":158},[83,1589,1590],{"class":85,"line":976},[83,1591,1592],{"class":89},"// Outcome\n",[83,1594,1595,1597,1599,1601,1603,1605,1608,1610,1613,1615,1618,1620,1623,1625],{"class":85,"line":993},[83,1596,1198],{"class":107},[83,1598,168],{"class":115},[83,1600,171],{"class":103},[83,1602,108],{"class":107},[83,1604,176],{"class":115},[83,1606,1607],{"class":147}," status",[83,1609,182],{"class":115},[83,1611,1612],{"class":193}," 200",[83,1614,197],{"class":115},[83,1616,1617],{"class":147}," duration",[83,1619,182],{"class":115},[83,1621,1622],{"class":193}," 234",[83,1624,215],{"class":115},[83,1626,152],{"class":107},[73,1628,1631],{"className":539,"code":1629,"filename":1630,"language":542,"meta":79,"style":79},"{\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)",[65,1632,1633,1637,1656,1675,1694,1709,1728,1767,1786,1800,1814],{"__ignoreMap":79},[83,1634,1635],{"class":85,"line":86},[83,1636,453],{"class":115},[83,1638,1639,1641,1644,1646,1648,1650,1652,1654],{"class":85,"line":93},[83,1640,553],{"class":115},[83,1642,1643],{"class":111},"level",[83,1645,559],{"class":115},[83,1647,182],{"class":115},[83,1649,579],{"class":115},[83,1651,1114],{"class":208},[83,1653,559],{"class":115},[83,1655,470],{"class":115},[83,1657,1658,1660,1663,1665,1667,1669,1671,1673],{"class":85,"line":132},[83,1659,553],{"class":115},[83,1661,1662],{"class":111},"method",[83,1664,559],{"class":115},[83,1666,182],{"class":115},[83,1668,579],{"class":115},[83,1670,867],{"class":208},[83,1672,559],{"class":115},[83,1674,470],{"class":115},[83,1676,1677,1679,1682,1684,1686,1688,1690,1692],{"class":85,"line":155},[83,1678,553],{"class":115},[83,1680,1681],{"class":111},"path",[83,1683,559],{"class":115},[83,1685,182],{"class":115},[83,1687,579],{"class":115},[83,1689,851],{"class":208},[83,1691,559],{"class":115},[83,1693,470],{"class":115},[83,1695,1696,1698,1701,1703,1705,1707],{"class":85,"line":162},[83,1697,553],{"class":115},[83,1699,1700],{"class":111},"userId",[83,1702,559],{"class":115},[83,1704,182],{"class":115},[83,1706,194],{"class":193},[83,1708,470],{"class":115},[83,1710,1711,1713,1716,1718,1720,1722,1724,1726],{"class":85,"line":222},[83,1712,553],{"class":115},[83,1714,1715],{"class":111},"subscription",[83,1717,559],{"class":115},[83,1719,182],{"class":115},[83,1721,579],{"class":115},[83,1723,209],{"class":208},[83,1725,559],{"class":115},[83,1727,470],{"class":115},[83,1729,1730,1732,1734,1736,1738,1740,1742,1745,1747,1749,1751,1753,1755,1758,1760,1762,1764],{"class":85,"line":266},[83,1731,553],{"class":115},[83,1733,820],{"class":111},[83,1735,559],{"class":115},[83,1737,182],{"class":115},[83,1739,185],{"class":115},[83,1741,579],{"class":115},[83,1743,1744],{"class":327},"items",[83,1746,559],{"class":115},[83,1748,182],{"class":115},[83,1750,247],{"class":193},[83,1752,197],{"class":115},[83,1754,579],{"class":115},[83,1756,1757],{"class":327},"total",[83,1759,559],{"class":115},[83,1761,182],{"class":115},[83,1763,257],{"class":193},[83,1765,1766],{"class":115}," },\n",[83,1768,1769,1771,1774,1776,1778,1780,1782,1784],{"class":85,"line":271},[83,1770,553],{"class":115},[83,1772,1773],{"class":111},"coupon",[83,1775,559],{"class":115},[83,1777,182],{"class":115},[83,1779,579],{"class":115},[83,1781,1577],{"class":208},[83,1783,559],{"class":115},[83,1785,470],{"class":115},[83,1787,1788,1790,1792,1794,1796,1798],{"class":85,"line":277},[83,1789,553],{"class":115},[83,1791,712],{"class":111},[83,1793,559],{"class":115},[83,1795,182],{"class":115},[83,1797,1612],{"class":193},[83,1799,470],{"class":115},[83,1801,1802,1804,1807,1809,1811],{"class":85,"line":297},[83,1803,553],{"class":115},[83,1805,1806],{"class":111},"duration",[83,1808,559],{"class":115},[83,1810,182],{"class":115},[83,1812,1813],{"class":193}," 234\n",[83,1815,1816],{"class":85,"line":944},[83,1817,665],{"class":115},[57,1819,1821],{"id":1820},"next-steps","Next Steps",[1823,1824,1825,1832],"ul",{},[1826,1827,1828,1831],"li",{},[1829,1830,30],"a",{"href":31}," - Learn how to design effective wide events",[1826,1833,1834,1836],{},[1829,1835,34],{"href":35}," - Master error handling with evlog",[1838,1839,1840],"style",{},"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 .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 .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":79,"searchDepth":93,"depth":93,"links":1842},[1843,1844,1848,1849,1850],{"id":59,"depth":93,"text":60},{"id":395,"depth":93,"text":396,"children":1845},[1846,1847],{"id":669,"depth":132,"text":670},{"id":766,"depth":132,"text":767},{"id":1155,"depth":93,"text":1156},{"id":1399,"depth":93,"text":1400},{"id":1820,"depth":93,"text":1821},"Get up and running with evlog in minutes.","md",null,{},{"title":19,"description":1851},"t0VZyBcH1x4SFls_nToBEynRkUZvYReYtoKnG-AR1gA",[1858,1860],{"title":15,"path":16,"stem":17,"description":1859,"children":-1},"Install evlog in your Nuxt, Nitro, or standalone TypeScript project.",{"title":30,"path":31,"stem":32,"description":1861,"children":-1},"Learn how to design effective wide events that capture everything you need in a single log.",1769393137633]