[{"data":1,"prerenderedAt":3365},["ShallowReactive",2],{"navigation_docs":3,"-frameworks-nuxt":219,"-frameworks-nuxt-surround":3360},[4,30,105,139,188,205],{"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},"Frameworks","/frameworks","2.frameworks",[35,40,45,50,55,60,65,70,75,80,85,90,95,100],{"title":36,"path":37,"stem":38,"icon":39},"Overview","/frameworks/overview","2.frameworks/00.overview","i-lucide-layout-grid",{"title":41,"path":42,"stem":43,"icon":44},"Nuxt","/frameworks/nuxt","2.frameworks/01.nuxt","i-simple-icons-nuxtdotjs",{"title":46,"path":47,"stem":48,"icon":49},"Next.js","/frameworks/nextjs","2.frameworks/02.nextjs","i-simple-icons-nextdotjs",{"title":51,"path":52,"stem":53,"icon":54},"SvelteKit","/frameworks/sveltekit","2.frameworks/03.sveltekit","i-simple-icons-svelte",{"title":56,"path":57,"stem":58,"icon":59},"Nitro","/frameworks/nitro","2.frameworks/04.nitro","i-custom-nitro",{"title":61,"path":62,"stem":63,"icon":64},"TanStack Start","/frameworks/tanstack-start","2.frameworks/05.tanstack-start","i-custom-tanstack",{"title":66,"path":67,"stem":68,"icon":69},"NestJS","/frameworks/nestjs","2.frameworks/06.nestjs","i-simple-icons-nestjs",{"title":71,"path":72,"stem":73,"icon":74},"Express","/frameworks/express","2.frameworks/07.express","i-simple-icons-express",{"title":76,"path":77,"stem":78,"icon":79},"Hono","/frameworks/hono","2.frameworks/08.hono","i-simple-icons-hono",{"title":81,"path":82,"stem":83,"icon":84},"Fastify","/frameworks/fastify","2.frameworks/09.fastify","i-simple-icons-fastify",{"title":86,"path":87,"stem":88,"icon":89},"Elysia","/frameworks/elysia","2.frameworks/10.elysia","i-custom-elysia",{"title":91,"path":92,"stem":93,"icon":94},"Cloudflare Workers","/frameworks/cloudflare-workers","2.frameworks/11.cloudflare-workers","i-simple-icons-cloudflare",{"title":96,"path":97,"stem":98,"icon":99},"Standalone","/frameworks/standalone","2.frameworks/12.standalone","i-simple-icons-typescript",{"title":101,"path":102,"stem":103,"icon":104},"Astro","/frameworks/astro","2.frameworks/13.astro","i-simple-icons-astro",{"title":106,"path":107,"stem":108,"children":109,"page":29},"Core Concepts","/core-concepts","3.core-concepts",[110,115,120,125,129,134],{"title":111,"path":112,"stem":113,"icon":114},"Wide Events","/core-concepts/wide-events","3.core-concepts/1.wide-events","i-lucide-layers",{"title":116,"path":117,"stem":118,"icon":119},"Structured Errors","/core-concepts/structured-errors","3.core-concepts/2.structured-errors","i-lucide-shield-alert",{"title":121,"path":122,"stem":123,"icon":124},"Best Practices","/core-concepts/best-practices","3.core-concepts/3.best-practices","i-lucide-shield-check",{"title":126,"path":127,"stem":128,"icon":99},"Typed Fields","/core-concepts/typed-fields","3.core-concepts/4.typed-fields",{"title":130,"path":131,"stem":132,"icon":133},"Sampling","/core-concepts/sampling","3.core-concepts/5.sampling","i-lucide-filter",{"title":135,"path":136,"stem":137,"icon":138},"Client Logging","/core-concepts/client-logging","3.core-concepts/6.client-logging","i-lucide-monitor",{"title":140,"path":141,"stem":142,"children":143,"page":29},"Adapters","/adapters","4.adapters",[144,148,153,158,163,168,173,178,183],{"title":36,"path":145,"stem":146,"icon":147},"/adapters/overview","4.adapters/1.overview","i-custom-plug",{"title":149,"path":150,"stem":151,"icon":152},"Axiom","/adapters/axiom","4.adapters/2.axiom","i-custom-axiom",{"title":154,"path":155,"stem":156,"icon":157},"OTLP","/adapters/otlp","4.adapters/3.otlp","i-simple-icons-opentelemetry",{"title":159,"path":160,"stem":161,"icon":162},"PostHog","/adapters/posthog","4.adapters/4.posthog","i-simple-icons-posthog",{"title":164,"path":165,"stem":166,"icon":167},"Sentry","/adapters/sentry","4.adapters/5.sentry","i-simple-icons-sentry",{"title":169,"path":170,"stem":171,"icon":172},"Better Stack","/adapters/better-stack","4.adapters/6.better-stack","i-simple-icons-betterstack",{"title":174,"path":175,"stem":176,"icon":177},"Custom Adapters","/adapters/custom","4.adapters/7.custom","i-lucide-code",{"title":179,"path":180,"stem":181,"icon":182},"Pipeline","/adapters/pipeline","4.adapters/8.pipeline","i-lucide-workflow",{"title":184,"path":185,"stem":186,"icon":187},"Browser","/adapters/browser","4.adapters/9.browser","i-lucide-globe",{"title":189,"path":190,"stem":191,"children":192,"page":29},"Enrichers","/enrichers","5.enrichers",[193,196,201],{"title":36,"path":194,"stem":195,"icon":28},"/enrichers/overview","5.enrichers/1.overview",{"title":197,"path":198,"stem":199,"icon":200},"Built-in","/enrichers/built-in","5.enrichers/2.built-in","i-lucide-puzzle",{"title":202,"path":203,"stem":204,"icon":177},"Custom","/enrichers/custom","5.enrichers/3.custom",{"title":206,"path":207,"stem":208,"children":209,"page":29},"NuxtHub","/nuxthub","6.nuxthub",[210,214],{"title":36,"path":211,"stem":212,"icon":213},"/nuxthub/overview","6.nuxthub/1.overview","i-lucide-database",{"title":215,"path":216,"stem":217,"icon":218},"Retention","/nuxthub/retention","6.nuxthub/2.retention","i-lucide-clock",{"id":220,"title":41,"body":221,"description":3353,"extension":3354,"links":3355,"meta":3356,"navigation":3357,"path":42,"seo":3358,"stem":43,"__hash__":3359},"docs/2.frameworks/01.nuxt.md",{"type":222,"value":223,"toc":3326},"minimark",[224,241,245,250,321,325,441,451,454,461,816,819,897,901,916,1174,1190,1194,1204,1463,1467,1476,1608,1622,1626,1629,1796,1800,1803,1807,2045,2049,2256,2267,2270,2274,2277,2404,2407,2411,2414,2558,2562,2569,2722,2729,2733,2736,2829,2833,2863,2867,2873,2978,2982,2985,3118,3122,3129,3322],[225,226,227,228,232,233,236,237,240],"p",{},"evlog provides a first-class Nuxt module with auto-imported ",[229,230,231],"code",{},"useLogger",", ",[229,234,235],{},"createError",", and ",[229,238,239],{},"parseError",". Add it to your config and start logging — zero boilerplate.",[242,243,20],"h2",{"id":244},"quick-start",[246,247,249],"h3",{"id":248},"_1-install","1. Install",[251,252,253,278,293,307],"code-group",{},[254,255,261],"pre",{"className":256,"code":257,"filename":258,"language":259,"meta":260,"style":260},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog\n","pnpm","bash","",[229,262,263],{"__ignoreMap":260},[264,265,268,271,275],"span",{"class":266,"line":267},"line",1,[264,269,258],{"class":270},"sBMFI",[264,272,274],{"class":273},"sfazB"," add",[264,276,277],{"class":273}," evlog\n",[254,279,282],{"className":256,"code":280,"filename":281,"language":259,"meta":260,"style":260},"npm install evlog\n","npm",[229,283,284],{"__ignoreMap":260},[264,285,286,288,291],{"class":266,"line":267},[264,287,281],{"class":270},[264,289,290],{"class":273}," install",[264,292,277],{"class":273},[254,294,297],{"className":256,"code":295,"filename":296,"language":259,"meta":260,"style":260},"yarn add evlog\n","yarn",[229,298,299],{"__ignoreMap":260},[264,300,301,303,305],{"class":266,"line":267},[264,302,296],{"class":270},[264,304,274],{"class":273},[264,306,277],{"class":273},[254,308,311],{"className":256,"code":309,"filename":310,"language":259,"meta":260,"style":260},"bun add evlog\n","bun",[229,312,313],{"__ignoreMap":260},[264,314,315,317,319],{"class":266,"line":267},[264,316,310],{"class":270},[264,318,274],{"class":273},[264,320,277],{"class":273},[246,322,324],{"id":323},"_2-add-the-module","2. Add the module",[254,326,331],{"className":327,"code":328,"filename":329,"language":330,"meta":260,"style":260},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    env: {\n      service: 'my-app',\n    },\n  },\n})\n","nuxt.config.ts","typescript",[229,332,333,354,381,392,402,420,426,432],{"__ignoreMap":260},[264,334,335,339,342,346,350],{"class":266,"line":267},[264,336,338],{"class":337},"s7zQu","export",[264,340,341],{"class":337}," default",[264,343,345],{"class":344},"s2Zo4"," defineNuxtConfig",[264,347,349],{"class":348},"sTEyZ","(",[264,351,353],{"class":352},"sMK4o","{\n",[264,355,357,361,364,367,370,373,375,378],{"class":266,"line":356},2,[264,358,360],{"class":359},"swJcz","  modules",[264,362,363],{"class":352},":",[264,365,366],{"class":348}," [",[264,368,369],{"class":352},"'",[264,371,372],{"class":273},"evlog/nuxt",[264,374,369],{"class":352},[264,376,377],{"class":348},"]",[264,379,380],{"class":352},",\n",[264,382,384,387,389],{"class":266,"line":383},3,[264,385,386],{"class":359},"  evlog",[264,388,363],{"class":352},[264,390,391],{"class":352}," {\n",[264,393,395,398,400],{"class":266,"line":394},4,[264,396,397],{"class":359},"    env",[264,399,363],{"class":352},[264,401,391],{"class":352},[264,403,405,408,410,413,416,418],{"class":266,"line":404},5,[264,406,407],{"class":359},"      service",[264,409,363],{"class":352},[264,411,412],{"class":352}," '",[264,414,415],{"class":273},"my-app",[264,417,369],{"class":352},[264,419,380],{"class":352},[264,421,423],{"class":266,"line":422},6,[264,424,425],{"class":352},"    },\n",[264,427,429],{"class":266,"line":428},7,[264,430,431],{"class":352},"  },\n",[264,433,435,438],{"class":266,"line":434},8,[264,436,437],{"class":352},"}",[264,439,440],{"class":348},")\n",[225,442,443,444,232,446,236,448,450],{},"That's it. ",[229,445,231],{},[229,447,235],{},[229,449,239],{}," are auto-imported.",[242,452,111],{"id":453},"wide-events",[225,455,456,457,460],{},"Build up context progressively throughout a request with ",[229,458,459],{},"useLogger(event)",". evlog emits a single wide event when the request completes.",[254,462,465],{"className":327,"code":463,"filename":464,"language":330,"meta":260,"style":260},"export default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const body = await readBody(event)\n\n  log.set({ user: { id: body.userId, plan: 'enterprise' } })\n\n  const cart = await db.findCart(body.cartId)\n  log.set({ cart: { items: cart.items.length, total: cart.total } })\n\n  const payment = await processPayment(cart)\n  log.set({ payment: { method: payment.method, cardLast4: payment.last4 } })\n\n  return { success: true, orderId: payment.orderId }\n})\n","server/api/checkout.post.ts",[229,466,467,497,517,538,544,602,606,637,692,697,719,770,775,809],{"__ignoreMap":260},[264,468,469,471,473,476,478,482,485,489,492,495],{"class":266,"line":267},[264,470,338],{"class":337},[264,472,341],{"class":337},[264,474,475],{"class":344}," defineEventHandler",[264,477,349],{"class":348},[264,479,481],{"class":480},"spNyl","async",[264,483,484],{"class":352}," (",[264,486,488],{"class":487},"sHdIc","event",[264,490,491],{"class":352},")",[264,493,494],{"class":480}," =>",[264,496,391],{"class":352},[264,498,499,502,505,508,511,513,515],{"class":266,"line":356},[264,500,501],{"class":480},"  const",[264,503,504],{"class":348}," log",[264,506,507],{"class":352}," =",[264,509,510],{"class":344}," useLogger",[264,512,349],{"class":359},[264,514,488],{"class":348},[264,516,440],{"class":359},[264,518,519,521,524,526,529,532,534,536],{"class":266,"line":383},[264,520,501],{"class":480},[264,522,523],{"class":348}," body",[264,525,507],{"class":352},[264,527,528],{"class":337}," await",[264,530,531],{"class":344}," readBody",[264,533,349],{"class":359},[264,535,488],{"class":348},[264,537,440],{"class":359},[264,539,540],{"class":266,"line":394},[264,541,543],{"emptyLinePlaceholder":542},true,"\n",[264,545,546,549,552,555,557,560,563,565,568,571,573,575,577,580,583,586,588,590,593,595,598,600],{"class":266,"line":404},[264,547,548],{"class":348},"  log",[264,550,551],{"class":352},".",[264,553,554],{"class":344},"set",[264,556,349],{"class":359},[264,558,559],{"class":352},"{",[264,561,562],{"class":359}," user",[264,564,363],{"class":352},[264,566,567],{"class":352}," {",[264,569,570],{"class":359}," id",[264,572,363],{"class":352},[264,574,523],{"class":348},[264,576,551],{"class":352},[264,578,579],{"class":348},"userId",[264,581,582],{"class":352},",",[264,584,585],{"class":359}," plan",[264,587,363],{"class":352},[264,589,412],{"class":352},[264,591,592],{"class":273},"enterprise",[264,594,369],{"class":352},[264,596,597],{"class":352}," }",[264,599,597],{"class":352},[264,601,440],{"class":359},[264,603,604],{"class":266,"line":422},[264,605,543],{"emptyLinePlaceholder":542},[264,607,608,610,613,615,617,620,622,625,627,630,632,635],{"class":266,"line":428},[264,609,501],{"class":480},[264,611,612],{"class":348}," cart",[264,614,507],{"class":352},[264,616,528],{"class":337},[264,618,619],{"class":348}," db",[264,621,551],{"class":352},[264,623,624],{"class":344},"findCart",[264,626,349],{"class":359},[264,628,629],{"class":348},"body",[264,631,551],{"class":352},[264,633,634],{"class":348},"cartId",[264,636,440],{"class":359},[264,638,639,641,643,645,647,649,651,653,655,658,660,662,664,667,669,672,674,677,679,681,683,686,688,690],{"class":266,"line":434},[264,640,548],{"class":348},[264,642,551],{"class":352},[264,644,554],{"class":344},[264,646,349],{"class":359},[264,648,559],{"class":352},[264,650,612],{"class":359},[264,652,363],{"class":352},[264,654,567],{"class":352},[264,656,657],{"class":359}," items",[264,659,363],{"class":352},[264,661,612],{"class":348},[264,663,551],{"class":352},[264,665,666],{"class":348},"items",[264,668,551],{"class":352},[264,670,671],{"class":348},"length",[264,673,582],{"class":352},[264,675,676],{"class":359}," total",[264,678,363],{"class":352},[264,680,612],{"class":348},[264,682,551],{"class":352},[264,684,685],{"class":348},"total",[264,687,597],{"class":352},[264,689,597],{"class":352},[264,691,440],{"class":359},[264,693,695],{"class":266,"line":694},9,[264,696,543],{"emptyLinePlaceholder":542},[264,698,700,702,705,707,709,712,714,717],{"class":266,"line":699},10,[264,701,501],{"class":480},[264,703,704],{"class":348}," payment",[264,706,507],{"class":352},[264,708,528],{"class":337},[264,710,711],{"class":344}," processPayment",[264,713,349],{"class":359},[264,715,716],{"class":348},"cart",[264,718,440],{"class":359},[264,720,722,724,726,728,730,732,734,736,738,741,743,745,747,750,752,755,757,759,761,764,766,768],{"class":266,"line":721},11,[264,723,548],{"class":348},[264,725,551],{"class":352},[264,727,554],{"class":344},[264,729,349],{"class":359},[264,731,559],{"class":352},[264,733,704],{"class":359},[264,735,363],{"class":352},[264,737,567],{"class":352},[264,739,740],{"class":359}," method",[264,742,363],{"class":352},[264,744,704],{"class":348},[264,746,551],{"class":352},[264,748,749],{"class":348},"method",[264,751,582],{"class":352},[264,753,754],{"class":359}," cardLast4",[264,756,363],{"class":352},[264,758,704],{"class":348},[264,760,551],{"class":352},[264,762,763],{"class":348},"last4",[264,765,597],{"class":352},[264,767,597],{"class":352},[264,769,440],{"class":359},[264,771,773],{"class":266,"line":772},12,[264,774,543],{"emptyLinePlaceholder":542},[264,776,778,781,783,786,788,792,794,797,799,801,803,806],{"class":266,"line":777},13,[264,779,780],{"class":337},"  return",[264,782,567],{"class":352},[264,784,785],{"class":359}," success",[264,787,363],{"class":352},[264,789,791],{"class":790},"sfNiH"," true",[264,793,582],{"class":352},[264,795,796],{"class":359}," orderId",[264,798,363],{"class":352},[264,800,704],{"class":348},[264,802,551],{"class":352},[264,804,805],{"class":348},"orderId",[264,807,808],{"class":352}," }\n",[264,810,812,814],{"class":266,"line":811},14,[264,813,437],{"class":352},[264,815,440],{"class":348},[225,817,818],{},"One request, one log line with all context:",[254,820,823],{"className":256,"code":821,"filename":822,"language":259,"meta":260,"style":260},"10:23:45 INFO [my-app] POST /api/checkout 200 in 145ms\n  ├─ user: id=usr_123 plan=enterprise\n  ├─ cart: items=3 total=14999\n  ├─ payment: method=card cardLast4=4242\n  └─ requestId: a1b2c3d4-...\n","Terminal output",[229,824,825,836,850,870,886],{"__ignoreMap":260},[264,826,827,830,833],{"class":266,"line":267},[264,828,829],{"class":270},"10:23:45",[264,831,832],{"class":273}," INFO",[264,834,835],{"class":348}," [my-app] POST /api/checkout 200 in 145ms\n",[264,837,838,841,844,847],{"class":266,"line":356},[264,839,840],{"class":270},"  ├─",[264,842,843],{"class":273}," user:",[264,845,846],{"class":273}," id=usr_123",[264,848,849],{"class":273}," plan=enterprise\n",[264,851,852,854,857,860,864,867],{"class":266,"line":383},[264,853,840],{"class":270},[264,855,856],{"class":273}," cart:",[264,858,859],{"class":273}," items=",[264,861,863],{"class":862},"sbssI","3",[264,865,866],{"class":273}," total=",[264,868,869],{"class":862},"14999\n",[264,871,872,874,877,880,883],{"class":266,"line":394},[264,873,840],{"class":270},[264,875,876],{"class":273}," payment:",[264,878,879],{"class":273}," method=card",[264,881,882],{"class":273}," cardLast4=",[264,884,885],{"class":862},"4242\n",[264,887,888,891,894],{"class":266,"line":404},[264,889,890],{"class":270},"  └─",[264,892,893],{"class":273}," requestId:",[264,895,896],{"class":273}," a1b2c3d4-...\n",[242,898,900],{"id":899},"error-handling","Error Handling",[225,902,903,905,906,232,909,236,912,915],{},[229,904,235],{}," produces structured errors with ",[229,907,908],{},"why",[229,910,911],{},"fix",[229,913,914],{},"link"," fields that help both humans and AI agents understand what went wrong.",[254,917,920],{"className":327,"code":918,"filename":919,"language":330,"meta":260,"style":260},"export default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const body = await readBody(event)\n\n  log.set({ payment: { amount: body.amount } })\n\n  if (body.amount \u003C= 0) {\n    throw createError({\n      status: 400,\n      message: 'Invalid payment amount',\n      why: 'The amount must be a positive number',\n      fix: 'Pass a positive integer in cents (e.g. 4999 for $49.99)',\n      link: 'https://docs.example.com/api/payments#amount',\n    })\n  }\n\n  return { success: true }\n})\n","server/api/payment/process.post.ts",[229,921,922,944,960,978,982,1018,1022,1046,1058,1070,1086,1102,1118,1134,1141,1147,1152,1167],{"__ignoreMap":260},[264,923,924,926,928,930,932,934,936,938,940,942],{"class":266,"line":267},[264,925,338],{"class":337},[264,927,341],{"class":337},[264,929,475],{"class":344},[264,931,349],{"class":348},[264,933,481],{"class":480},[264,935,484],{"class":352},[264,937,488],{"class":487},[264,939,491],{"class":352},[264,941,494],{"class":480},[264,943,391],{"class":352},[264,945,946,948,950,952,954,956,958],{"class":266,"line":356},[264,947,501],{"class":480},[264,949,504],{"class":348},[264,951,507],{"class":352},[264,953,510],{"class":344},[264,955,349],{"class":359},[264,957,488],{"class":348},[264,959,440],{"class":359},[264,961,962,964,966,968,970,972,974,976],{"class":266,"line":383},[264,963,501],{"class":480},[264,965,523],{"class":348},[264,967,507],{"class":352},[264,969,528],{"class":337},[264,971,531],{"class":344},[264,973,349],{"class":359},[264,975,488],{"class":348},[264,977,440],{"class":359},[264,979,980],{"class":266,"line":394},[264,981,543],{"emptyLinePlaceholder":542},[264,983,984,986,988,990,992,994,996,998,1000,1003,1005,1007,1009,1012,1014,1016],{"class":266,"line":404},[264,985,548],{"class":348},[264,987,551],{"class":352},[264,989,554],{"class":344},[264,991,349],{"class":359},[264,993,559],{"class":352},[264,995,704],{"class":359},[264,997,363],{"class":352},[264,999,567],{"class":352},[264,1001,1002],{"class":359}," amount",[264,1004,363],{"class":352},[264,1006,523],{"class":348},[264,1008,551],{"class":352},[264,1010,1011],{"class":348},"amount",[264,1013,597],{"class":352},[264,1015,597],{"class":352},[264,1017,440],{"class":359},[264,1019,1020],{"class":266,"line":422},[264,1021,543],{"emptyLinePlaceholder":542},[264,1023,1024,1027,1029,1031,1033,1035,1038,1041,1044],{"class":266,"line":428},[264,1025,1026],{"class":337},"  if",[264,1028,484],{"class":359},[264,1030,629],{"class":348},[264,1032,551],{"class":352},[264,1034,1011],{"class":348},[264,1036,1037],{"class":352}," \u003C=",[264,1039,1040],{"class":862}," 0",[264,1042,1043],{"class":359},") ",[264,1045,353],{"class":352},[264,1047,1048,1051,1054,1056],{"class":266,"line":434},[264,1049,1050],{"class":337},"    throw",[264,1052,1053],{"class":344}," createError",[264,1055,349],{"class":359},[264,1057,353],{"class":352},[264,1059,1060,1063,1065,1068],{"class":266,"line":694},[264,1061,1062],{"class":359},"      status",[264,1064,363],{"class":352},[264,1066,1067],{"class":862}," 400",[264,1069,380],{"class":352},[264,1071,1072,1075,1077,1079,1082,1084],{"class":266,"line":699},[264,1073,1074],{"class":359},"      message",[264,1076,363],{"class":352},[264,1078,412],{"class":352},[264,1080,1081],{"class":273},"Invalid payment amount",[264,1083,369],{"class":352},[264,1085,380],{"class":352},[264,1087,1088,1091,1093,1095,1098,1100],{"class":266,"line":721},[264,1089,1090],{"class":359},"      why",[264,1092,363],{"class":352},[264,1094,412],{"class":352},[264,1096,1097],{"class":273},"The amount must be a positive number",[264,1099,369],{"class":352},[264,1101,380],{"class":352},[264,1103,1104,1107,1109,1111,1114,1116],{"class":266,"line":772},[264,1105,1106],{"class":359},"      fix",[264,1108,363],{"class":352},[264,1110,412],{"class":352},[264,1112,1113],{"class":273},"Pass a positive integer in cents (e.g. 4999 for $49.99)",[264,1115,369],{"class":352},[264,1117,380],{"class":352},[264,1119,1120,1123,1125,1127,1130,1132],{"class":266,"line":777},[264,1121,1122],{"class":359},"      link",[264,1124,363],{"class":352},[264,1126,412],{"class":352},[264,1128,1129],{"class":273},"https://docs.example.com/api/payments#amount",[264,1131,369],{"class":352},[264,1133,380],{"class":352},[264,1135,1136,1139],{"class":266,"line":811},[264,1137,1138],{"class":352},"    }",[264,1140,440],{"class":359},[264,1142,1144],{"class":266,"line":1143},15,[264,1145,1146],{"class":352},"  }\n",[264,1148,1150],{"class":266,"line":1149},16,[264,1151,543],{"emptyLinePlaceholder":542},[264,1153,1155,1157,1159,1161,1163,1165],{"class":266,"line":1154},17,[264,1156,780],{"class":337},[264,1158,567],{"class":352},[264,1160,785],{"class":359},[264,1162,363],{"class":352},[264,1164,791],{"class":790},[264,1166,808],{"class":352},[264,1168,1170,1172],{"class":266,"line":1169},18,[264,1171,437],{"class":352},[264,1173,440],{"class":348},[1175,1176,1178,1179,1182,1183,232,1185,236,1187,1189],"callout",{"color":1177,"icon":13},"info","Nuxt's error handler automatically catches ",[229,1180,1181],{},"EvlogError"," and returns a structured JSON response with ",[229,1184,908],{},[229,1186,911],{},[229,1188,914],{}," fields.",[242,1191,1193],{"id":1192},"configuration","Configuration",[225,1195,1196,1197,1199,1200,1203],{},"All options are set in ",[229,1198,329],{}," under the ",[229,1201,1202],{},"evlog"," key:",[1205,1206,1207,1226],"table",{},[1208,1209,1210],"thead",{},[1211,1212,1213,1217,1220,1223],"tr",{},[1214,1215,1216],"th",{},"Option",[1214,1218,1219],{},"Type",[1214,1221,1222],{},"Default",[1214,1224,1225],{},"Description",[1227,1228,1229,1254,1272,1292,1309,1332,1350,1369,1388,1407,1426,1444],"tbody",{},[1211,1230,1231,1237,1242,1247],{},[1232,1233,1234],"td",{},[229,1235,1236],{},"enabled",[1232,1238,1239],{},[229,1240,1241],{},"boolean",[1232,1243,1244],{},[229,1245,1246],{},"true",[1232,1248,1249,1250,1253],{},"Globally enable/disable all logging. When ",[229,1251,1252],{},"false",", all operations become no-ops",[1211,1255,1256,1261,1265,1269],{},[1232,1257,1258],{},[229,1259,1260],{},"console",[1232,1262,1263],{},[229,1264,1241],{},[1232,1266,1267],{},[229,1268,1246],{},[1232,1270,1271],{},"Enable/disable browser console output",[1211,1273,1274,1279,1284,1289],{},[1232,1275,1276],{},[229,1277,1278],{},"env.service",[1232,1280,1281],{},[229,1282,1283],{},"string",[1232,1285,1286],{},[229,1287,1288],{},"'app'",[1232,1290,1291],{},"Service name shown in logs",[1211,1293,1294,1299,1303,1306],{},[1232,1295,1296],{},[229,1297,1298],{},"env.environment",[1232,1300,1301],{},[229,1302,1283],{},[1232,1304,1305],{},"Auto-detected",[1232,1307,1308],{},"Environment name",[1211,1310,1311,1316,1321,1326],{},[1232,1312,1313],{},[229,1314,1315],{},"include",[1232,1317,1318],{},[229,1319,1320],{},"string[]",[1232,1322,1323],{},[229,1324,1325],{},"undefined",[1232,1327,1328,1329,491],{},"Route patterns to log. Supports glob (",[229,1330,1331],{},"/api/**",[1211,1333,1334,1339,1343,1347],{},[1232,1335,1336],{},[229,1337,1338],{},"exclude",[1232,1340,1341],{},[229,1342,1320],{},[1232,1344,1345],{},[229,1346,1325],{},[1232,1348,1349],{},"Route patterns to exclude. Exclusions take precedence",[1211,1351,1352,1357,1362,1366],{},[1232,1353,1354],{},[229,1355,1356],{},"routes",[1232,1358,1359],{},[229,1360,1361],{},"Record\u003Cstring, RouteConfig>",[1232,1363,1364],{},[229,1365,1325],{},[1232,1367,1368],{},"Route-specific service configuration",[1211,1370,1371,1376,1380,1385],{},[1232,1372,1373],{},[229,1374,1375],{},"pretty",[1232,1377,1378],{},[229,1379,1241],{},[1232,1381,1382,1384],{},[229,1383,1246],{}," in dev",[1232,1386,1387],{},"Pretty print with tree formatting",[1211,1389,1390,1395,1400,1404],{},[1232,1391,1392],{},[229,1393,1394],{},"sampling.rates",[1232,1396,1397],{},[229,1398,1399],{},"object",[1232,1401,1402],{},[229,1403,1325],{},[1232,1405,1406],{},"Head sampling rates per log level (0-100%)",[1211,1408,1409,1414,1419,1423],{},[1232,1410,1411],{},[229,1412,1413],{},"sampling.keep",[1232,1415,1416],{},[229,1417,1418],{},"array",[1232,1420,1421],{},[229,1422,1325],{},[1232,1424,1425],{},"Tail sampling conditions to force-keep logs",[1211,1427,1428,1433,1437,1441],{},[1232,1429,1430],{},[229,1431,1432],{},"transport.enabled",[1232,1434,1435],{},[229,1436,1241],{},[1232,1438,1439],{},[229,1440,1252],{},[1232,1442,1443],{},"Enable client-to-server log transport",[1211,1445,1446,1451,1455,1460],{},[1232,1447,1448],{},[229,1449,1450],{},"transport.endpoint",[1232,1452,1453],{},[229,1454,1283],{},[1232,1456,1457],{},[229,1458,1459],{},"'/api/_evlog/ingest'",[1232,1461,1462],{},"Transport endpoint",[242,1464,1466],{"id":1465},"route-filtering","Route Filtering",[225,1468,1469,1470,1472,1473,1475],{},"Use ",[229,1471,1315],{}," and ",[229,1474,1338],{}," to control which routes are logged:",[254,1477,1479],{"className":327,"code":1478,"filename":329,"language":330,"meta":260,"style":260},"export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    include: ['/api/**', '/auth/**'],\n    exclude: [\n      '/api/_nuxt_icon/**',\n      '/api/_content/**',\n      '/api/health',\n    ],\n  },\n})\n",[229,1480,1481,1493,1511,1519,1547,1557,1569,1580,1591,1598,1602],{"__ignoreMap":260},[264,1482,1483,1485,1487,1489,1491],{"class":266,"line":267},[264,1484,338],{"class":337},[264,1486,341],{"class":337},[264,1488,345],{"class":344},[264,1490,349],{"class":348},[264,1492,353],{"class":352},[264,1494,1495,1497,1499,1501,1503,1505,1507,1509],{"class":266,"line":356},[264,1496,360],{"class":359},[264,1498,363],{"class":352},[264,1500,366],{"class":348},[264,1502,369],{"class":352},[264,1504,372],{"class":273},[264,1506,369],{"class":352},[264,1508,377],{"class":348},[264,1510,380],{"class":352},[264,1512,1513,1515,1517],{"class":266,"line":383},[264,1514,386],{"class":359},[264,1516,363],{"class":352},[264,1518,391],{"class":352},[264,1520,1521,1524,1526,1528,1530,1532,1534,1536,1538,1541,1543,1545],{"class":266,"line":394},[264,1522,1523],{"class":359},"    include",[264,1525,363],{"class":352},[264,1527,366],{"class":348},[264,1529,369],{"class":352},[264,1531,1331],{"class":273},[264,1533,369],{"class":352},[264,1535,582],{"class":352},[264,1537,412],{"class":352},[264,1539,1540],{"class":273},"/auth/**",[264,1542,369],{"class":352},[264,1544,377],{"class":348},[264,1546,380],{"class":352},[264,1548,1549,1552,1554],{"class":266,"line":404},[264,1550,1551],{"class":359},"    exclude",[264,1553,363],{"class":352},[264,1555,1556],{"class":348}," [\n",[264,1558,1559,1562,1565,1567],{"class":266,"line":422},[264,1560,1561],{"class":352},"      '",[264,1563,1564],{"class":273},"/api/_nuxt_icon/**",[264,1566,369],{"class":352},[264,1568,380],{"class":352},[264,1570,1571,1573,1576,1578],{"class":266,"line":428},[264,1572,1561],{"class":352},[264,1574,1575],{"class":273},"/api/_content/**",[264,1577,369],{"class":352},[264,1579,380],{"class":352},[264,1581,1582,1584,1587,1589],{"class":266,"line":434},[264,1583,1561],{"class":352},[264,1585,1586],{"class":273},"/api/health",[264,1588,369],{"class":352},[264,1590,380],{"class":352},[264,1592,1593,1596],{"class":266,"line":694},[264,1594,1595],{"class":348},"    ]",[264,1597,380],{"class":352},[264,1599,1600],{"class":266,"line":699},[264,1601,431],{"class":352},[264,1603,1604,1606],{"class":266,"line":721},[264,1605,437],{"class":352},[264,1607,440],{"class":348},[1175,1609,1612,1616,1617,1472,1619,1621],{"color":1610,"icon":1611},"warning","i-lucide-alert-triangle",[1613,1614,1615],"strong",{},"Exclusions take precedence."," If a path matches both ",[229,1618,1315],{},[229,1620,1338],{},", it will be excluded.",[246,1623,1625],{"id":1624},"route-based-service-names","Route-Based Service Names",[225,1627,1628],{},"Assign different service names to different route groups:",[254,1630,1632],{"className":327,"code":1631,"filename":329,"language":330,"meta":260,"style":260},"export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    env: { service: 'default-service' },\n    routes: {\n      '/api/auth/**': { service: 'auth-service' },\n      '/api/payment/**': { service: 'payment-service' },\n      '/api/booking/**': { service: 'booking-service' },\n    },\n  },\n})\n",[229,1633,1634,1646,1664,1672,1695,1704,1730,1756,1782,1786,1790],{"__ignoreMap":260},[264,1635,1636,1638,1640,1642,1644],{"class":266,"line":267},[264,1637,338],{"class":337},[264,1639,341],{"class":337},[264,1641,345],{"class":344},[264,1643,349],{"class":348},[264,1645,353],{"class":352},[264,1647,1648,1650,1652,1654,1656,1658,1660,1662],{"class":266,"line":356},[264,1649,360],{"class":359},[264,1651,363],{"class":352},[264,1653,366],{"class":348},[264,1655,369],{"class":352},[264,1657,372],{"class":273},[264,1659,369],{"class":352},[264,1661,377],{"class":348},[264,1663,380],{"class":352},[264,1665,1666,1668,1670],{"class":266,"line":383},[264,1667,386],{"class":359},[264,1669,363],{"class":352},[264,1671,391],{"class":352},[264,1673,1674,1676,1678,1680,1683,1685,1687,1690,1692],{"class":266,"line":394},[264,1675,397],{"class":359},[264,1677,363],{"class":352},[264,1679,567],{"class":352},[264,1681,1682],{"class":359}," service",[264,1684,363],{"class":352},[264,1686,412],{"class":352},[264,1688,1689],{"class":273},"default-service",[264,1691,369],{"class":352},[264,1693,1694],{"class":352}," },\n",[264,1696,1697,1700,1702],{"class":266,"line":404},[264,1698,1699],{"class":359},"    routes",[264,1701,363],{"class":352},[264,1703,391],{"class":352},[264,1705,1706,1708,1711,1713,1715,1717,1719,1721,1723,1726,1728],{"class":266,"line":422},[264,1707,1561],{"class":352},[264,1709,1710],{"class":359},"/api/auth/**",[264,1712,369],{"class":352},[264,1714,363],{"class":352},[264,1716,567],{"class":352},[264,1718,1682],{"class":359},[264,1720,363],{"class":352},[264,1722,412],{"class":352},[264,1724,1725],{"class":273},"auth-service",[264,1727,369],{"class":352},[264,1729,1694],{"class":352},[264,1731,1732,1734,1737,1739,1741,1743,1745,1747,1749,1752,1754],{"class":266,"line":428},[264,1733,1561],{"class":352},[264,1735,1736],{"class":359},"/api/payment/**",[264,1738,369],{"class":352},[264,1740,363],{"class":352},[264,1742,567],{"class":352},[264,1744,1682],{"class":359},[264,1746,363],{"class":352},[264,1748,412],{"class":352},[264,1750,1751],{"class":273},"payment-service",[264,1753,369],{"class":352},[264,1755,1694],{"class":352},[264,1757,1758,1760,1763,1765,1767,1769,1771,1773,1775,1778,1780],{"class":266,"line":434},[264,1759,1561],{"class":352},[264,1761,1762],{"class":359},"/api/booking/**",[264,1764,369],{"class":352},[264,1766,363],{"class":352},[264,1768,567],{"class":352},[264,1770,1682],{"class":359},[264,1772,363],{"class":352},[264,1774,412],{"class":352},[264,1776,1777],{"class":273},"booking-service",[264,1779,369],{"class":352},[264,1781,1694],{"class":352},[264,1783,1784],{"class":266,"line":694},[264,1785,425],{"class":352},[264,1787,1788],{"class":266,"line":699},[264,1789,431],{"class":352},[264,1791,1792,1794],{"class":266,"line":721},[264,1793,437],{"class":352},[264,1795,440],{"class":348},[242,1797,1799],{"id":1798},"drain-enrichers","Drain & Enrichers",[225,1801,1802],{},"Use Nitro plugin hooks to send logs to external services and enrich them with additional context.",[246,1804,1806],{"id":1805},"drain-plugin","Drain Plugin",[254,1808,1811],{"className":327,"code":1809,"filename":1810,"language":330,"meta":260,"style":260},"import type { DrainContext } from 'evlog'\nimport { createAxiomDrain } from 'evlog/axiom'\nimport { createDrainPipeline } from 'evlog/pipeline'\n\nconst pipeline = createDrainPipeline\u003CDrainContext>({\n  batch: { size: 50, intervalMs: 5000 },\n  retry: { maxAttempts: 3 },\n})\nconst drain = pipeline(createAxiomDrain())\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', drain)\n})\n","server/plugins/evlog-drain.ts",[229,1812,1813,1838,1858,1878,1882,1908,1937,1956,1962,1982,1986,2008,2039],{"__ignoreMap":260},[264,1814,1815,1818,1821,1823,1826,1828,1831,1833,1835],{"class":266,"line":267},[264,1816,1817],{"class":337},"import",[264,1819,1820],{"class":337}," type",[264,1822,567],{"class":352},[264,1824,1825],{"class":348}," DrainContext",[264,1827,597],{"class":352},[264,1829,1830],{"class":337}," from",[264,1832,412],{"class":352},[264,1834,1202],{"class":273},[264,1836,1837],{"class":352},"'\n",[264,1839,1840,1842,1844,1847,1849,1851,1853,1856],{"class":266,"line":356},[264,1841,1817],{"class":337},[264,1843,567],{"class":352},[264,1845,1846],{"class":348}," createAxiomDrain",[264,1848,597],{"class":352},[264,1850,1830],{"class":337},[264,1852,412],{"class":352},[264,1854,1855],{"class":273},"evlog/axiom",[264,1857,1837],{"class":352},[264,1859,1860,1862,1864,1867,1869,1871,1873,1876],{"class":266,"line":383},[264,1861,1817],{"class":337},[264,1863,567],{"class":352},[264,1865,1866],{"class":348}," createDrainPipeline",[264,1868,597],{"class":352},[264,1870,1830],{"class":337},[264,1872,412],{"class":352},[264,1874,1875],{"class":273},"evlog/pipeline",[264,1877,1837],{"class":352},[264,1879,1880],{"class":266,"line":394},[264,1881,543],{"emptyLinePlaceholder":542},[264,1883,1884,1887,1890,1893,1895,1898,1901,1904,1906],{"class":266,"line":404},[264,1885,1886],{"class":480},"const",[264,1888,1889],{"class":348}," pipeline ",[264,1891,1892],{"class":352},"=",[264,1894,1866],{"class":344},[264,1896,1897],{"class":352},"\u003C",[264,1899,1900],{"class":270},"DrainContext",[264,1902,1903],{"class":352},">",[264,1905,349],{"class":348},[264,1907,353],{"class":352},[264,1909,1910,1913,1915,1917,1920,1922,1925,1927,1930,1932,1935],{"class":266,"line":422},[264,1911,1912],{"class":359},"  batch",[264,1914,363],{"class":352},[264,1916,567],{"class":352},[264,1918,1919],{"class":359}," size",[264,1921,363],{"class":352},[264,1923,1924],{"class":862}," 50",[264,1926,582],{"class":352},[264,1928,1929],{"class":359}," intervalMs",[264,1931,363],{"class":352},[264,1933,1934],{"class":862}," 5000",[264,1936,1694],{"class":352},[264,1938,1939,1942,1944,1946,1949,1951,1954],{"class":266,"line":428},[264,1940,1941],{"class":359},"  retry",[264,1943,363],{"class":352},[264,1945,567],{"class":352},[264,1947,1948],{"class":359}," maxAttempts",[264,1950,363],{"class":352},[264,1952,1953],{"class":862}," 3",[264,1955,1694],{"class":352},[264,1957,1958,1960],{"class":266,"line":434},[264,1959,437],{"class":352},[264,1961,440],{"class":348},[264,1963,1964,1966,1969,1971,1974,1976,1979],{"class":266,"line":694},[264,1965,1886],{"class":480},[264,1967,1968],{"class":348}," drain ",[264,1970,1892],{"class":352},[264,1972,1973],{"class":344}," pipeline",[264,1975,349],{"class":348},[264,1977,1978],{"class":344},"createAxiomDrain",[264,1980,1981],{"class":348},"())\n",[264,1983,1984],{"class":266,"line":699},[264,1985,543],{"emptyLinePlaceholder":542},[264,1987,1988,1990,1992,1995,1997,1999,2002,2004,2006],{"class":266,"line":721},[264,1989,338],{"class":337},[264,1991,341],{"class":337},[264,1993,1994],{"class":344}," defineNitroPlugin",[264,1996,349],{"class":348},[264,1998,349],{"class":352},[264,2000,2001],{"class":487},"nitroApp",[264,2003,491],{"class":352},[264,2005,494],{"class":480},[264,2007,391],{"class":352},[264,2009,2010,2013,2015,2018,2020,2023,2025,2027,2030,2032,2034,2037],{"class":266,"line":772},[264,2011,2012],{"class":348},"  nitroApp",[264,2014,551],{"class":352},[264,2016,2017],{"class":348},"hooks",[264,2019,551],{"class":352},[264,2021,2022],{"class":344},"hook",[264,2024,349],{"class":359},[264,2026,369],{"class":352},[264,2028,2029],{"class":273},"evlog:drain",[264,2031,369],{"class":352},[264,2033,582],{"class":352},[264,2035,2036],{"class":348}," drain",[264,2038,440],{"class":359},[264,2040,2041,2043],{"class":266,"line":777},[264,2042,437],{"class":352},[264,2044,440],{"class":348},[246,2046,2048],{"id":2047},"enricher-plugin","Enricher Plugin",[254,2050,2053],{"className":327,"code":2051,"filename":2052,"language":330,"meta":260,"style":260},"import {\n  createUserAgentEnricher,\n  createGeoEnricher,\n  createRequestSizeEnricher,\n  createTraceContextEnricher,\n} from 'evlog/enrichers'\n\nconst enrichers = [\n  createUserAgentEnricher(),\n  createGeoEnricher(),\n  createRequestSizeEnricher(),\n  createTraceContextEnricher(),\n]\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:enrich', (ctx) => {\n    for (const enricher of enrichers) enricher(ctx)\n  })\n})\n","server/plugins/evlog-enrich.ts",[229,2054,2055,2061,2068,2075,2082,2089,2102,2106,2117,2126,2134,2142,2150,2155,2159,2179,2213,2242,2249],{"__ignoreMap":260},[264,2056,2057,2059],{"class":266,"line":267},[264,2058,1817],{"class":337},[264,2060,391],{"class":352},[264,2062,2063,2066],{"class":266,"line":356},[264,2064,2065],{"class":348},"  createUserAgentEnricher",[264,2067,380],{"class":352},[264,2069,2070,2073],{"class":266,"line":383},[264,2071,2072],{"class":348},"  createGeoEnricher",[264,2074,380],{"class":352},[264,2076,2077,2080],{"class":266,"line":394},[264,2078,2079],{"class":348},"  createRequestSizeEnricher",[264,2081,380],{"class":352},[264,2083,2084,2087],{"class":266,"line":404},[264,2085,2086],{"class":348},"  createTraceContextEnricher",[264,2088,380],{"class":352},[264,2090,2091,2093,2095,2097,2100],{"class":266,"line":422},[264,2092,437],{"class":352},[264,2094,1830],{"class":337},[264,2096,412],{"class":352},[264,2098,2099],{"class":273},"evlog/enrichers",[264,2101,1837],{"class":352},[264,2103,2104],{"class":266,"line":428},[264,2105,543],{"emptyLinePlaceholder":542},[264,2107,2108,2110,2113,2115],{"class":266,"line":434},[264,2109,1886],{"class":480},[264,2111,2112],{"class":348}," enrichers ",[264,2114,1892],{"class":352},[264,2116,1556],{"class":348},[264,2118,2119,2121,2124],{"class":266,"line":694},[264,2120,2065],{"class":344},[264,2122,2123],{"class":348},"()",[264,2125,380],{"class":352},[264,2127,2128,2130,2132],{"class":266,"line":699},[264,2129,2072],{"class":344},[264,2131,2123],{"class":348},[264,2133,380],{"class":352},[264,2135,2136,2138,2140],{"class":266,"line":721},[264,2137,2079],{"class":344},[264,2139,2123],{"class":348},[264,2141,380],{"class":352},[264,2143,2144,2146,2148],{"class":266,"line":772},[264,2145,2086],{"class":344},[264,2147,2123],{"class":348},[264,2149,380],{"class":352},[264,2151,2152],{"class":266,"line":777},[264,2153,2154],{"class":348},"]\n",[264,2156,2157],{"class":266,"line":811},[264,2158,543],{"emptyLinePlaceholder":542},[264,2160,2161,2163,2165,2167,2169,2171,2173,2175,2177],{"class":266,"line":1143},[264,2162,338],{"class":337},[264,2164,341],{"class":337},[264,2166,1994],{"class":344},[264,2168,349],{"class":348},[264,2170,349],{"class":352},[264,2172,2001],{"class":487},[264,2174,491],{"class":352},[264,2176,494],{"class":480},[264,2178,391],{"class":352},[264,2180,2181,2183,2185,2187,2189,2191,2193,2195,2198,2200,2202,2204,2207,2209,2211],{"class":266,"line":1149},[264,2182,2012],{"class":348},[264,2184,551],{"class":352},[264,2186,2017],{"class":348},[264,2188,551],{"class":352},[264,2190,2022],{"class":344},[264,2192,349],{"class":359},[264,2194,369],{"class":352},[264,2196,2197],{"class":273},"evlog:enrich",[264,2199,369],{"class":352},[264,2201,582],{"class":352},[264,2203,484],{"class":352},[264,2205,2206],{"class":487},"ctx",[264,2208,491],{"class":352},[264,2210,494],{"class":480},[264,2212,391],{"class":352},[264,2214,2215,2218,2220,2222,2225,2228,2231,2233,2236,2238,2240],{"class":266,"line":1154},[264,2216,2217],{"class":337},"    for",[264,2219,484],{"class":359},[264,2221,1886],{"class":480},[264,2223,2224],{"class":348}," enricher",[264,2226,2227],{"class":352}," of",[264,2229,2230],{"class":348}," enrichers",[264,2232,1043],{"class":359},[264,2234,2235],{"class":344},"enricher",[264,2237,349],{"class":359},[264,2239,2206],{"class":348},[264,2241,440],{"class":359},[264,2243,2244,2247],{"class":266,"line":1169},[264,2245,2246],{"class":352},"  }",[264,2248,440],{"class":359},[264,2250,2252,2254],{"class":266,"line":2251},19,[264,2253,437],{"class":352},[264,2255,440],{"class":348},[1175,2257,2260,2261,1472,2264,2266],{"color":2258,"icon":2259},"neutral","i-lucide-arrow-right","See the ",[2262,2263,140],"a",{"href":145},[2262,2265,189],{"href":194}," docs for the full list of available drains and enrichers.",[242,2268,130],{"id":2269},"sampling",[246,2271,2273],{"id":2272},"head-sampling","Head Sampling",[225,2275,2276],{},"Randomly keep a percentage of logs per level. Runs before the request completes.",[254,2278,2280],{"className":327,"code":2279,"filename":329,"language":330,"meta":260,"style":260},"export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    sampling: {\n      rates: {\n        info: 10,\n        warn: 50,\n        debug: 5,\n        error: 100,\n      },\n    },\n  },\n})\n",[229,2281,2282,2294,2312,2320,2329,2338,2350,2361,2373,2385,2390,2394,2398],{"__ignoreMap":260},[264,2283,2284,2286,2288,2290,2292],{"class":266,"line":267},[264,2285,338],{"class":337},[264,2287,341],{"class":337},[264,2289,345],{"class":344},[264,2291,349],{"class":348},[264,2293,353],{"class":352},[264,2295,2296,2298,2300,2302,2304,2306,2308,2310],{"class":266,"line":356},[264,2297,360],{"class":359},[264,2299,363],{"class":352},[264,2301,366],{"class":348},[264,2303,369],{"class":352},[264,2305,372],{"class":273},[264,2307,369],{"class":352},[264,2309,377],{"class":348},[264,2311,380],{"class":352},[264,2313,2314,2316,2318],{"class":266,"line":383},[264,2315,386],{"class":359},[264,2317,363],{"class":352},[264,2319,391],{"class":352},[264,2321,2322,2325,2327],{"class":266,"line":394},[264,2323,2324],{"class":359},"    sampling",[264,2326,363],{"class":352},[264,2328,391],{"class":352},[264,2330,2331,2334,2336],{"class":266,"line":404},[264,2332,2333],{"class":359},"      rates",[264,2335,363],{"class":352},[264,2337,391],{"class":352},[264,2339,2340,2343,2345,2348],{"class":266,"line":422},[264,2341,2342],{"class":359},"        info",[264,2344,363],{"class":352},[264,2346,2347],{"class":862}," 10",[264,2349,380],{"class":352},[264,2351,2352,2355,2357,2359],{"class":266,"line":428},[264,2353,2354],{"class":359},"        warn",[264,2356,363],{"class":352},[264,2358,1924],{"class":862},[264,2360,380],{"class":352},[264,2362,2363,2366,2368,2371],{"class":266,"line":434},[264,2364,2365],{"class":359},"        debug",[264,2367,363],{"class":352},[264,2369,2370],{"class":862}," 5",[264,2372,380],{"class":352},[264,2374,2375,2378,2380,2383],{"class":266,"line":694},[264,2376,2377],{"class":359},"        error",[264,2379,363],{"class":352},[264,2381,2382],{"class":862}," 100",[264,2384,380],{"class":352},[264,2386,2387],{"class":266,"line":699},[264,2388,2389],{"class":352},"      },\n",[264,2391,2392],{"class":266,"line":721},[264,2393,425],{"class":352},[264,2395,2396],{"class":266,"line":772},[264,2397,431],{"class":352},[264,2399,2400,2402],{"class":266,"line":777},[264,2401,437],{"class":352},[264,2403,440],{"class":348},[225,2405,2406],{},"Each level is a percentage from 0 to 100. Levels you don't configure default to 100% (keep everything). Error defaults to 100% even when other levels are configured.",[246,2408,2410],{"id":2409},"tail-sampling","Tail Sampling",[225,2412,2413],{},"Evaluate after the request completes and force-keep logs that match specific conditions, regardless of head sampling.",[254,2415,2417],{"className":327,"code":2416,"filename":329,"language":330,"meta":260,"style":260},"export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    sampling: {\n      rates: { info: 10 },\n      keep: [\n        { duration: 1000 },\n        { status: 400 },\n        { path: '/api/critical/**' },\n      ],\n    },\n  },\n})\n",[229,2418,2419,2431,2449,2457,2465,2482,2491,2506,2519,2537,2544,2548,2552],{"__ignoreMap":260},[264,2420,2421,2423,2425,2427,2429],{"class":266,"line":267},[264,2422,338],{"class":337},[264,2424,341],{"class":337},[264,2426,345],{"class":344},[264,2428,349],{"class":348},[264,2430,353],{"class":352},[264,2432,2433,2435,2437,2439,2441,2443,2445,2447],{"class":266,"line":356},[264,2434,360],{"class":359},[264,2436,363],{"class":352},[264,2438,366],{"class":348},[264,2440,369],{"class":352},[264,2442,372],{"class":273},[264,2444,369],{"class":352},[264,2446,377],{"class":348},[264,2448,380],{"class":352},[264,2450,2451,2453,2455],{"class":266,"line":383},[264,2452,386],{"class":359},[264,2454,363],{"class":352},[264,2456,391],{"class":352},[264,2458,2459,2461,2463],{"class":266,"line":394},[264,2460,2324],{"class":359},[264,2462,363],{"class":352},[264,2464,391],{"class":352},[264,2466,2467,2469,2471,2473,2476,2478,2480],{"class":266,"line":404},[264,2468,2333],{"class":359},[264,2470,363],{"class":352},[264,2472,567],{"class":352},[264,2474,2475],{"class":359}," info",[264,2477,363],{"class":352},[264,2479,2347],{"class":862},[264,2481,1694],{"class":352},[264,2483,2484,2487,2489],{"class":266,"line":422},[264,2485,2486],{"class":359},"      keep",[264,2488,363],{"class":352},[264,2490,1556],{"class":348},[264,2492,2493,2496,2499,2501,2504],{"class":266,"line":428},[264,2494,2495],{"class":352},"        {",[264,2497,2498],{"class":359}," duration",[264,2500,363],{"class":352},[264,2502,2503],{"class":862}," 1000",[264,2505,1694],{"class":352},[264,2507,2508,2510,2513,2515,2517],{"class":266,"line":434},[264,2509,2495],{"class":352},[264,2511,2512],{"class":359}," status",[264,2514,363],{"class":352},[264,2516,1067],{"class":862},[264,2518,1694],{"class":352},[264,2520,2521,2523,2526,2528,2530,2533,2535],{"class":266,"line":694},[264,2522,2495],{"class":352},[264,2524,2525],{"class":359}," path",[264,2527,363],{"class":352},[264,2529,412],{"class":352},[264,2531,2532],{"class":273},"/api/critical/**",[264,2534,369],{"class":352},[264,2536,1694],{"class":352},[264,2538,2539,2542],{"class":266,"line":699},[264,2540,2541],{"class":348},"      ]",[264,2543,380],{"class":352},[264,2545,2546],{"class":266,"line":721},[264,2547,425],{"class":352},[264,2549,2550],{"class":266,"line":772},[264,2551,431],{"class":352},[264,2553,2554,2556],{"class":266,"line":777},[264,2555,437],{"class":352},[264,2557,440],{"class":348},[246,2559,2561],{"id":2560},"custom-tail-sampling","Custom Tail Sampling",[225,2563,2564,2565,2568],{},"For conditions beyond status, duration, and path, use the ",[229,2566,2567],{},"evlog:emit:keep"," hook:",[254,2570,2573],{"className":327,"code":2571,"filename":2572,"language":330,"meta":260,"style":260},"export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:emit:keep', (ctx) => {\n    const user = ctx.context.user as { premium?: boolean } | undefined\n    if (user?.premium) {\n      ctx.shouldKeep = true\n    }\n  })\n})\n","server/plugins/evlog-sampling.ts",[229,2574,2575,2595,2627,2671,2690,2705,2710,2716],{"__ignoreMap":260},[264,2576,2577,2579,2581,2583,2585,2587,2589,2591,2593],{"class":266,"line":267},[264,2578,338],{"class":337},[264,2580,341],{"class":337},[264,2582,1994],{"class":344},[264,2584,349],{"class":348},[264,2586,349],{"class":352},[264,2588,2001],{"class":487},[264,2590,491],{"class":352},[264,2592,494],{"class":480},[264,2594,391],{"class":352},[264,2596,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625],{"class":266,"line":356},[264,2598,2012],{"class":348},[264,2600,551],{"class":352},[264,2602,2017],{"class":348},[264,2604,551],{"class":352},[264,2606,2022],{"class":344},[264,2608,349],{"class":359},[264,2610,369],{"class":352},[264,2612,2567],{"class":273},[264,2614,369],{"class":352},[264,2616,582],{"class":352},[264,2618,484],{"class":352},[264,2620,2206],{"class":487},[264,2622,491],{"class":352},[264,2624,494],{"class":480},[264,2626,391],{"class":352},[264,2628,2629,2632,2634,2636,2639,2641,2644,2646,2649,2652,2654,2657,2660,2663,2665,2668],{"class":266,"line":383},[264,2630,2631],{"class":480},"    const",[264,2633,562],{"class":348},[264,2635,507],{"class":352},[264,2637,2638],{"class":348}," ctx",[264,2640,551],{"class":352},[264,2642,2643],{"class":348},"context",[264,2645,551],{"class":352},[264,2647,2648],{"class":348},"user",[264,2650,2651],{"class":337}," as",[264,2653,567],{"class":352},[264,2655,2656],{"class":359}," premium",[264,2658,2659],{"class":352},"?:",[264,2661,2662],{"class":270}," boolean",[264,2664,597],{"class":352},[264,2666,2667],{"class":352}," |",[264,2669,2670],{"class":270}," undefined\n",[264,2672,2673,2676,2678,2680,2683,2686,2688],{"class":266,"line":394},[264,2674,2675],{"class":337},"    if",[264,2677,484],{"class":359},[264,2679,2648],{"class":348},[264,2681,2682],{"class":352},"?.",[264,2684,2685],{"class":348},"premium",[264,2687,1043],{"class":359},[264,2689,353],{"class":352},[264,2691,2692,2695,2697,2700,2702],{"class":266,"line":404},[264,2693,2694],{"class":348},"      ctx",[264,2696,551],{"class":352},[264,2698,2699],{"class":348},"shouldKeep",[264,2701,507],{"class":352},[264,2703,2704],{"class":790}," true\n",[264,2706,2707],{"class":266,"line":422},[264,2708,2709],{"class":352},"    }\n",[264,2711,2712,2714],{"class":266,"line":428},[264,2713,2246],{"class":352},[264,2715,440],{"class":359},[264,2717,2718,2720],{"class":266,"line":434},[264,2719,437],{"class":352},[264,2721,440],{"class":348},[1175,2723,2724,2725,2728],{"color":1177,"icon":13},"Errors are always kept by default. You have to explicitly set ",[229,2726,2727],{},"error: 0"," to drop them.",[242,2730,2732],{"id":2731},"client-transport","Client Transport",[225,2734,2735],{},"Send browser logs to your server for processing and draining alongside server-side events.",[254,2737,2739],{"className":327,"code":2738,"filename":329,"language":330,"meta":260,"style":260},"export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    transport: {\n      enabled: true,\n      endpoint: '/api/_evlog/ingest',\n    },\n  },\n})\n",[229,2740,2741,2753,2771,2779,2788,2799,2815,2819,2823],{"__ignoreMap":260},[264,2742,2743,2745,2747,2749,2751],{"class":266,"line":267},[264,2744,338],{"class":337},[264,2746,341],{"class":337},[264,2748,345],{"class":344},[264,2750,349],{"class":348},[264,2752,353],{"class":352},[264,2754,2755,2757,2759,2761,2763,2765,2767,2769],{"class":266,"line":356},[264,2756,360],{"class":359},[264,2758,363],{"class":352},[264,2760,366],{"class":348},[264,2762,369],{"class":352},[264,2764,372],{"class":273},[264,2766,369],{"class":352},[264,2768,377],{"class":348},[264,2770,380],{"class":352},[264,2772,2773,2775,2777],{"class":266,"line":383},[264,2774,386],{"class":359},[264,2776,363],{"class":352},[264,2778,391],{"class":352},[264,2780,2781,2784,2786],{"class":266,"line":394},[264,2782,2783],{"class":359},"    transport",[264,2785,363],{"class":352},[264,2787,391],{"class":352},[264,2789,2790,2793,2795,2797],{"class":266,"line":404},[264,2791,2792],{"class":359},"      enabled",[264,2794,363],{"class":352},[264,2796,791],{"class":790},[264,2798,380],{"class":352},[264,2800,2801,2804,2806,2808,2811,2813],{"class":266,"line":422},[264,2802,2803],{"class":359},"      endpoint",[264,2805,363],{"class":352},[264,2807,412],{"class":352},[264,2809,2810],{"class":273},"/api/_evlog/ingest",[264,2812,369],{"class":352},[264,2814,380],{"class":352},[264,2816,2817],{"class":266,"line":428},[264,2818,425],{"class":352},[264,2820,2821],{"class":266,"line":434},[264,2822,431],{"class":352},[264,2824,2825,2827],{"class":266,"line":694},[264,2826,437],{"class":352},[264,2828,440],{"class":348},[246,2830,2832],{"id":2831},"how-it-works","How It Works",[2834,2835,2836,2843,2849,2852,2860],"ol",{},[2837,2838,2839,2840],"li",{},"Client calls ",[229,2841,2842],{},"log.info({ action: 'click', button: 'submit' })",[2837,2844,2845,2846,2848],{},"Log is sent to ",[229,2847,2810],{}," via POST",[2837,2850,2851],{},"Server enriches with environment context",[2837,2853,2854,2856,2857],{},[229,2855,2029],{}," hook is called with ",[229,2858,2859],{},"source: 'client'",[2837,2861,2862],{},"External services receive the log",[246,2864,2866],{"id":2865},"client-identity","Client Identity",[225,2868,2869,2870,363],{},"Attach user context to every client log with ",[229,2871,2872],{},"setIdentity",[254,2874,2877],{"className":327,"code":2875,"filename":2876,"language":330,"meta":260,"style":260},"// After login\nsetIdentity({ userId: 'usr_123', orgId: 'org_456' })\n\nlog.info({ action: 'checkout' })\n// -> { userId: 'usr_123', orgId: 'org_456', action: 'checkout', ... }\n\n// After logout\nclearIdentity()\n","Nuxt (auto-imported)",[229,2878,2879,2885,2923,2927,2956,2961,2965,2970],{"__ignoreMap":260},[264,2880,2881],{"class":266,"line":267},[264,2882,2884],{"class":2883},"sHwdD","// After login\n",[264,2886,2887,2889,2891,2893,2896,2898,2900,2903,2905,2907,2910,2912,2914,2917,2919,2921],{"class":266,"line":356},[264,2888,2872],{"class":344},[264,2890,349],{"class":348},[264,2892,559],{"class":352},[264,2894,2895],{"class":359}," userId",[264,2897,363],{"class":352},[264,2899,412],{"class":352},[264,2901,2902],{"class":273},"usr_123",[264,2904,369],{"class":352},[264,2906,582],{"class":352},[264,2908,2909],{"class":359}," orgId",[264,2911,363],{"class":352},[264,2913,412],{"class":352},[264,2915,2916],{"class":273},"org_456",[264,2918,369],{"class":352},[264,2920,597],{"class":352},[264,2922,440],{"class":348},[264,2924,2925],{"class":266,"line":383},[264,2926,543],{"emptyLinePlaceholder":542},[264,2928,2929,2932,2934,2936,2938,2940,2943,2945,2947,2950,2952,2954],{"class":266,"line":394},[264,2930,2931],{"class":348},"log",[264,2933,551],{"class":352},[264,2935,1177],{"class":344},[264,2937,349],{"class":348},[264,2939,559],{"class":352},[264,2941,2942],{"class":359}," action",[264,2944,363],{"class":352},[264,2946,412],{"class":352},[264,2948,2949],{"class":273},"checkout",[264,2951,369],{"class":352},[264,2953,597],{"class":352},[264,2955,440],{"class":348},[264,2957,2958],{"class":266,"line":404},[264,2959,2960],{"class":2883},"// -> { userId: 'usr_123', orgId: 'org_456', action: 'checkout', ... }\n",[264,2962,2963],{"class":266,"line":422},[264,2964,543],{"emptyLinePlaceholder":542},[264,2966,2967],{"class":266,"line":428},[264,2968,2969],{"class":2883},"// After logout\n",[264,2971,2972,2975],{"class":266,"line":434},[264,2973,2974],{"class":344},"clearIdentity",[264,2976,2977],{"class":348},"()\n",[246,2979,2981],{"id":2980},"syncing-identity-with-auth","Syncing Identity with Auth",[225,2983,2984],{},"Use a route middleware to keep identity in sync with your auth state:",[254,2986,2989],{"className":327,"code":2987,"filename":2988,"language":330,"meta":260,"style":260},"export default defineNuxtRouteMiddleware(() => {\n  const { user } = useAuth()\n\n  if (user.value) {\n    setIdentity({ userId: user.value.id, email: user.value.email })\n  } else {\n    clearIdentity()\n  }\n})\n","middleware/identity.global.ts",[229,2990,2991,3008,3025,3029,3046,3092,3101,3108,3112],{"__ignoreMap":260},[264,2992,2993,2995,2997,3000,3002,3004,3006],{"class":266,"line":267},[264,2994,338],{"class":337},[264,2996,341],{"class":337},[264,2998,2999],{"class":344}," defineNuxtRouteMiddleware",[264,3001,349],{"class":348},[264,3003,2123],{"class":352},[264,3005,494],{"class":480},[264,3007,391],{"class":352},[264,3009,3010,3012,3014,3016,3018,3020,3023],{"class":266,"line":356},[264,3011,501],{"class":480},[264,3013,567],{"class":352},[264,3015,562],{"class":348},[264,3017,597],{"class":352},[264,3019,507],{"class":352},[264,3021,3022],{"class":344}," useAuth",[264,3024,2977],{"class":359},[264,3026,3027],{"class":266,"line":383},[264,3028,543],{"emptyLinePlaceholder":542},[264,3030,3031,3033,3035,3037,3039,3042,3044],{"class":266,"line":394},[264,3032,1026],{"class":337},[264,3034,484],{"class":359},[264,3036,2648],{"class":348},[264,3038,551],{"class":352},[264,3040,3041],{"class":348},"value",[264,3043,1043],{"class":359},[264,3045,353],{"class":352},[264,3047,3048,3051,3053,3055,3057,3059,3061,3063,3065,3067,3070,3072,3075,3077,3079,3081,3083,3085,3088,3090],{"class":266,"line":404},[264,3049,3050],{"class":344},"    setIdentity",[264,3052,349],{"class":359},[264,3054,559],{"class":352},[264,3056,2895],{"class":359},[264,3058,363],{"class":352},[264,3060,562],{"class":348},[264,3062,551],{"class":352},[264,3064,3041],{"class":348},[264,3066,551],{"class":352},[264,3068,3069],{"class":348},"id",[264,3071,582],{"class":352},[264,3073,3074],{"class":359}," email",[264,3076,363],{"class":352},[264,3078,562],{"class":348},[264,3080,551],{"class":352},[264,3082,3041],{"class":348},[264,3084,551],{"class":352},[264,3086,3087],{"class":348},"email",[264,3089,597],{"class":352},[264,3091,440],{"class":359},[264,3093,3094,3096,3099],{"class":266,"line":422},[264,3095,2246],{"class":352},[264,3097,3098],{"class":337}," else",[264,3100,391],{"class":352},[264,3102,3103,3106],{"class":266,"line":428},[264,3104,3105],{"class":344},"    clearIdentity",[264,3107,2977],{"class":359},[264,3109,3110],{"class":266,"line":434},[264,3111,1146],{"class":352},[264,3113,3114,3116],{"class":266,"line":694},[264,3115,437],{"class":352},[264,3117,440],{"class":348},[242,3119,3121],{"id":3120},"production-tips","Production Tips",[225,3123,3124,3125,3128],{},"Use Nuxt's ",[229,3126,3127],{},"$production"," override to keep full logging in development while sampling and disabling console output in production:",[254,3130,3132],{"className":327,"code":3131,"filename":329,"language":330,"meta":260,"style":260},"export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    env: { service: 'my-app' },\n  },\n  $production: {\n    evlog: {\n      console: false,\n      sampling: {\n        rates: { info: 10, warn: 50, debug: 0 },\n        keep: [{ duration: 1000 }, { status: 400 }],\n      },\n    },\n  },\n})\n",[229,3133,3134,3146,3164,3172,3192,3196,3205,3214,3226,3235,3270,3304,3308,3312,3316],{"__ignoreMap":260},[264,3135,3136,3138,3140,3142,3144],{"class":266,"line":267},[264,3137,338],{"class":337},[264,3139,341],{"class":337},[264,3141,345],{"class":344},[264,3143,349],{"class":348},[264,3145,353],{"class":352},[264,3147,3148,3150,3152,3154,3156,3158,3160,3162],{"class":266,"line":356},[264,3149,360],{"class":359},[264,3151,363],{"class":352},[264,3153,366],{"class":348},[264,3155,369],{"class":352},[264,3157,372],{"class":273},[264,3159,369],{"class":352},[264,3161,377],{"class":348},[264,3163,380],{"class":352},[264,3165,3166,3168,3170],{"class":266,"line":383},[264,3167,386],{"class":359},[264,3169,363],{"class":352},[264,3171,391],{"class":352},[264,3173,3174,3176,3178,3180,3182,3184,3186,3188,3190],{"class":266,"line":394},[264,3175,397],{"class":359},[264,3177,363],{"class":352},[264,3179,567],{"class":352},[264,3181,1682],{"class":359},[264,3183,363],{"class":352},[264,3185,412],{"class":352},[264,3187,415],{"class":273},[264,3189,369],{"class":352},[264,3191,1694],{"class":352},[264,3193,3194],{"class":266,"line":404},[264,3195,431],{"class":352},[264,3197,3198,3201,3203],{"class":266,"line":422},[264,3199,3200],{"class":359},"  $production",[264,3202,363],{"class":352},[264,3204,391],{"class":352},[264,3206,3207,3210,3212],{"class":266,"line":428},[264,3208,3209],{"class":359},"    evlog",[264,3211,363],{"class":352},[264,3213,391],{"class":352},[264,3215,3216,3219,3221,3224],{"class":266,"line":434},[264,3217,3218],{"class":359},"      console",[264,3220,363],{"class":352},[264,3222,3223],{"class":790}," false",[264,3225,380],{"class":352},[264,3227,3228,3231,3233],{"class":266,"line":694},[264,3229,3230],{"class":359},"      sampling",[264,3232,363],{"class":352},[264,3234,391],{"class":352},[264,3236,3237,3240,3242,3244,3246,3248,3250,3252,3255,3257,3259,3261,3264,3266,3268],{"class":266,"line":699},[264,3238,3239],{"class":359},"        rates",[264,3241,363],{"class":352},[264,3243,567],{"class":352},[264,3245,2475],{"class":359},[264,3247,363],{"class":352},[264,3249,2347],{"class":862},[264,3251,582],{"class":352},[264,3253,3254],{"class":359}," warn",[264,3256,363],{"class":352},[264,3258,1924],{"class":862},[264,3260,582],{"class":352},[264,3262,3263],{"class":359}," debug",[264,3265,363],{"class":352},[264,3267,1040],{"class":862},[264,3269,1694],{"class":352},[264,3271,3272,3275,3277,3279,3281,3283,3285,3287,3290,3292,3294,3296,3298,3300,3302],{"class":266,"line":721},[264,3273,3274],{"class":359},"        keep",[264,3276,363],{"class":352},[264,3278,366],{"class":348},[264,3280,559],{"class":352},[264,3282,2498],{"class":359},[264,3284,363],{"class":352},[264,3286,2503],{"class":862},[264,3288,3289],{"class":352}," },",[264,3291,567],{"class":352},[264,3293,2512],{"class":359},[264,3295,363],{"class":352},[264,3297,1067],{"class":862},[264,3299,597],{"class":352},[264,3301,377],{"class":348},[264,3303,380],{"class":352},[264,3305,3306],{"class":266,"line":772},[264,3307,2389],{"class":352},[264,3309,3310],{"class":266,"line":777},[264,3311,425],{"class":352},[264,3313,3314],{"class":266,"line":811},[264,3315,431],{"class":352},[264,3317,3318,3320],{"class":266,"line":1143},[264,3319,437],{"class":352},[264,3321,440],{"class":348},[3323,3324,3325],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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}",{"title":260,"searchDepth":356,"depth":356,"links":3327},[3328,3332,3333,3334,3335,3338,3342,3347,3352],{"id":244,"depth":356,"text":20,"children":3329},[3330,3331],{"id":248,"depth":383,"text":249},{"id":323,"depth":383,"text":324},{"id":453,"depth":356,"text":111},{"id":899,"depth":356,"text":900},{"id":1192,"depth":356,"text":1193},{"id":1465,"depth":356,"text":1466,"children":3336},[3337],{"id":1624,"depth":383,"text":1625},{"id":1798,"depth":356,"text":1799,"children":3339},[3340,3341],{"id":1805,"depth":383,"text":1806},{"id":2047,"depth":383,"text":2048},{"id":2269,"depth":356,"text":130,"children":3343},[3344,3345,3346],{"id":2272,"depth":383,"text":2273},{"id":2409,"depth":383,"text":2410},{"id":2560,"depth":383,"text":2561},{"id":2731,"depth":356,"text":2732,"children":3348},[3349,3350,3351],{"id":2831,"depth":383,"text":2832},{"id":2865,"depth":383,"text":2866},{"id":2980,"depth":383,"text":2981},{"id":3120,"depth":356,"text":3121},"Using evlog with Nuxt — automatic wide events, structured errors, drain adapters, enrichers, tail sampling, and client transport in Nuxt applications.","md",null,{},{"title":41,"icon":44},{"title":41,"description":3353},"RbTNxxpSu97eHLyT-EbD54SYQ-a3700WrvkaD9SqGE4",[3361,3363],{"title":36,"path":37,"stem":38,"description":3362,"icon":39,"children":-1},"evlog supports every major TypeScript framework. Choose your stack and get started in minutes.",{"title":46,"path":47,"stem":48,"description":3364,"icon":49,"children":-1},"Using evlog with Next.js — wide events, structured errors, drain pipeline, tail sampling, route-based services, error handling, and client-side logging.",1773097845220]