[{"data":1,"prerenderedAt":1632},["ShallowReactive",2],{"navigation_docs":3,"-adapters-axiom":228,"-adapters-axiom-surround":1627},[4,30,110,149,198,214],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Frameworks","\u002Fframeworks","2.frameworks",[35,40,45,50,55,60,65,70,75,80,85,90,95,100,105],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Fframeworks\u002Foverview","2.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":41,"path":42,"stem":43,"icon":44},"Nuxt","\u002Fframeworks\u002Fnuxt","2.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":46,"path":47,"stem":48,"icon":49},"Next.js","\u002Fframeworks\u002Fnextjs","2.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":51,"path":52,"stem":53,"icon":54},"SvelteKit","\u002Fframeworks\u002Fsveltekit","2.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":56,"path":57,"stem":58,"icon":59},"Nitro","\u002Fframeworks\u002Fnitro","2.frameworks\u002F04.nitro","i-custom-nitro",{"title":61,"path":62,"stem":63,"icon":64},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","2.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":66,"path":67,"stem":68,"icon":69},"NestJS","\u002Fframeworks\u002Fnestjs","2.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":71,"path":72,"stem":73,"icon":74},"Express","\u002Fframeworks\u002Fexpress","2.frameworks\u002F07.express","i-simple-icons-express",{"title":76,"path":77,"stem":78,"icon":79},"Hono","\u002Fframeworks\u002Fhono","2.frameworks\u002F08.hono","i-simple-icons-hono",{"title":81,"path":82,"stem":83,"icon":84},"Fastify","\u002Fframeworks\u002Ffastify","2.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":86,"path":87,"stem":88,"icon":89},"Elysia","\u002Fframeworks\u002Felysia","2.frameworks\u002F10.elysia","i-custom-elysia",{"title":91,"path":92,"stem":93,"icon":94},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","2.frameworks\u002F11.cloudflare-workers","i-simple-icons-cloudflare",{"title":96,"path":97,"stem":98,"icon":99},"Standalone","\u002Fframeworks\u002Fstandalone","2.frameworks\u002F12.standalone","i-simple-icons-typescript",{"title":101,"path":102,"stem":103,"icon":104},"Astro","\u002Fframeworks\u002Fastro","2.frameworks\u002F13.astro","i-simple-icons-astro",{"title":106,"path":107,"stem":108,"icon":109},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","2.frameworks\u002F14.custom-integration","i-lucide-puzzle",{"title":111,"path":112,"stem":113,"children":114,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[115,120,125,130,135,139,144],{"title":116,"path":117,"stem":118,"icon":119},"Request Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":121,"path":122,"stem":123,"icon":124},"Wide Events","\u002Fcore-concepts\u002Fwide-events","3.core-concepts\u002F1.wide-events","i-lucide-layers",{"title":126,"path":127,"stem":128,"icon":129},"Structured Errors","\u002Fcore-concepts\u002Fstructured-errors","3.core-concepts\u002F2.structured-errors","i-lucide-shield-alert",{"title":131,"path":132,"stem":133,"icon":134},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F3.best-practices","i-lucide-shield-check",{"title":136,"path":137,"stem":138,"icon":99},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F4.typed-fields",{"title":140,"path":141,"stem":142,"icon":143},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F5.sampling","i-lucide-filter",{"title":145,"path":146,"stem":147,"icon":148},"Client Logging","\u002Fcore-concepts\u002Fclient-logging","3.core-concepts\u002F6.client-logging","i-lucide-monitor",{"title":150,"path":151,"stem":152,"children":153,"page":29},"Adapters","\u002Fadapters","4.adapters",[154,158,163,168,173,178,183,188,193],{"title":36,"path":155,"stem":156,"icon":157},"\u002Fadapters\u002Foverview","4.adapters\u002F1.overview","i-custom-plug",{"title":159,"path":160,"stem":161,"icon":162},"Axiom","\u002Fadapters\u002Faxiom","4.adapters\u002F2.axiom","i-custom-axiom",{"title":164,"path":165,"stem":166,"icon":167},"OTLP","\u002Fadapters\u002Fotlp","4.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":169,"path":170,"stem":171,"icon":172},"PostHog","\u002Fadapters\u002Fposthog","4.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":174,"path":175,"stem":176,"icon":177},"Sentry","\u002Fadapters\u002Fsentry","4.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":179,"path":180,"stem":181,"icon":182},"Better Stack","\u002Fadapters\u002Fbetter-stack","4.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":184,"path":185,"stem":186,"icon":187},"Custom Adapters","\u002Fadapters\u002Fcustom","4.adapters\u002F7.custom","i-lucide-code",{"title":189,"path":190,"stem":191,"icon":192},"Pipeline","\u002Fadapters\u002Fpipeline","4.adapters\u002F8.pipeline","i-lucide-workflow",{"title":194,"path":195,"stem":196,"icon":197},"Browser","\u002Fadapters\u002Fbrowser","4.adapters\u002F9.browser","i-lucide-globe",{"title":199,"path":200,"stem":201,"children":202,"page":29},"Enrichers","\u002Fenrichers","5.enrichers",[203,206,210],{"title":36,"path":204,"stem":205,"icon":28},"\u002Fenrichers\u002Foverview","5.enrichers\u002F1.overview",{"title":207,"path":208,"stem":209,"icon":109},"Built-in","\u002Fenrichers\u002Fbuilt-in","5.enrichers\u002F2.built-in",{"title":211,"path":212,"stem":213,"icon":187},"Custom","\u002Fenrichers\u002Fcustom","5.enrichers\u002F3.custom",{"title":215,"path":216,"stem":217,"children":218,"page":29},"NuxtHub","\u002Fnuxthub","6.nuxthub",[219,223],{"title":36,"path":220,"stem":221,"icon":222},"\u002Fnuxthub\u002Foverview","6.nuxthub\u002F1.overview","i-lucide-database",{"title":224,"path":225,"stem":226,"icon":227},"Retention","\u002Fnuxthub\u002Fretention","6.nuxthub\u002F2.retention","i-lucide-clock",{"id":229,"title":230,"body":231,"description":1613,"extension":1614,"links":1615,"meta":1623,"navigation":1624,"path":160,"seo":1625,"stem":161,"__hash__":1626},"docs\u002F4.adapters\u002F2.axiom.md","Axiom Adapter",{"type":232,"value":233,"toc":1591},"minimark",[234,244,248,251,294,297,302,320,324,354,358,806,809,813,816,851,855,951,964,968,975,1059,1063,1066,1123,1127,1263,1267,1270,1355,1359,1363,1371,1374,1378,1385,1389,1392,1406,1410,1413,1558,1562,1587],[235,236,237,243],"p",{},[238,239,159],"a",{"href":240,"rel":241},"https:\u002F\u002Faxiom.co",[242],"nofollow"," is a cloud-native logging platform with powerful querying capabilities. The evlog Axiom adapter sends your wide events directly to Axiom datasets.",[245,246,15],"h2",{"id":247},"installation",[235,249,250],{},"The Axiom adapter comes bundled with evlog:",[252,253,258],"pre",{"className":254,"code":255,"language":256,"meta":257,"style":257},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createAxiomDrain } from 'evlog\u002Faxiom'\n","typescript","",[259,260,261],"code",{"__ignoreMap":257},[262,263,266,270,274,278,281,284,287,291],"span",{"class":264,"line":265},"line",1,[262,267,269],{"class":268},"s7zQu","import",[262,271,273],{"class":272},"sMK4o"," {",[262,275,277],{"class":276},"sTEyZ"," createAxiomDrain",[262,279,280],{"class":272}," }",[262,282,283],{"class":268}," from",[262,285,286],{"class":272}," '",[262,288,290],{"class":289},"sfazB","evlog\u002Faxiom",[262,292,293],{"class":272},"'\n",[245,295,20],{"id":296},"quick-start",[298,299,301],"h3",{"id":300},"_1-get-your-axiom-credentials","1. Get your Axiom credentials",[303,304,305,314,317],"ol",{},[306,307,308,309],"li",{},"Create an ",[238,310,313],{"href":311,"rel":312},"https:\u002F\u002Fapp.axiom.co",[242],"Axiom account",[306,315,316],{},"Create a dataset for your logs",[306,318,319],{},"Generate an API token with ingest permissions",[298,321,323],{"id":322},"_2-set-environment-variables","2. Set environment variables",[252,325,330],{"className":326,"code":327,"filename":328,"language":329,"meta":257,"style":257},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","AXIOM_TOKEN=xaat-your-token-here\nAXIOM_DATASET=your-dataset-name\n",".env","bash",[259,331,332,343],{"__ignoreMap":257},[262,333,334,337,340],{"class":264,"line":265},[262,335,336],{"class":276},"AXIOM_TOKEN",[262,338,339],{"class":272},"=",[262,341,342],{"class":289},"xaat-your-token-here\n",[262,344,346,349,351],{"class":264,"line":345},2,[262,347,348],{"class":276},"AXIOM_DATASET",[262,350,339],{"class":272},[262,352,353],{"class":289},"your-dataset-name\n",[298,355,357],{"id":356},"_3-wire-the-drain-to-your-framework","3. Wire the drain to your framework",[359,360,361,475,538,592,651,705,758],"code-group",{},[252,362,365],{"className":254,"code":363,"filename":364,"language":256,"meta":257,"style":257},"\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createAxiomDrain())\n})\n","Nuxt \u002F Nitro",[259,366,367,373,391,398,430,466],{"__ignoreMap":257},[262,368,369],{"class":264,"line":265},[262,370,372],{"class":371},"sHwdD","\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\n",[262,374,375,377,379,381,383,385,387,389],{"class":264,"line":345},[262,376,269],{"class":268},[262,378,273],{"class":272},[262,380,277],{"class":276},[262,382,280],{"class":272},[262,384,283],{"class":268},[262,386,286],{"class":272},[262,388,290],{"class":289},[262,390,293],{"class":272},[262,392,394],{"class":264,"line":393},3,[262,395,397],{"emptyLinePlaceholder":396},true,"\n",[262,399,401,404,407,411,414,416,420,423,427],{"class":264,"line":400},4,[262,402,403],{"class":268},"export",[262,405,406],{"class":268}," default",[262,408,410],{"class":409},"s2Zo4"," defineNitroPlugin",[262,412,413],{"class":276},"(",[262,415,413],{"class":272},[262,417,419],{"class":418},"sHdIc","nitroApp",[262,421,422],{"class":272},")",[262,424,426],{"class":425},"spNyl"," =>",[262,428,429],{"class":272}," {\n",[262,431,433,436,439,442,444,447,450,453,456,458,461,463],{"class":264,"line":432},5,[262,434,435],{"class":276},"  nitroApp",[262,437,438],{"class":272},".",[262,440,441],{"class":276},"hooks",[262,443,438],{"class":272},[262,445,446],{"class":409},"hook",[262,448,413],{"class":449},"swJcz",[262,451,452],{"class":272},"'",[262,454,455],{"class":289},"evlog:drain",[262,457,452],{"class":272},[262,459,460],{"class":272},",",[262,462,277],{"class":409},[262,464,465],{"class":449},"())\n",[262,467,469,472],{"class":264,"line":468},6,[262,470,471],{"class":272},"}",[262,473,474],{"class":276},")\n",[252,476,478],{"className":254,"code":477,"filename":76,"language":256,"meta":257,"style":257},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\napp.use(evlog({ drain: createAxiomDrain() }))\n",[259,479,480,498,502],{"__ignoreMap":257},[262,481,482,484,486,488,490,492,494,496],{"class":264,"line":265},[262,483,269],{"class":268},[262,485,273],{"class":272},[262,487,277],{"class":276},[262,489,280],{"class":272},[262,491,283],{"class":268},[262,493,286],{"class":272},[262,495,290],{"class":289},[262,497,293],{"class":272},[262,499,500],{"class":264,"line":345},[262,501,397],{"emptyLinePlaceholder":396},[262,503,504,507,509,512,514,517,519,522,525,528,530,533,535],{"class":264,"line":393},[262,505,506],{"class":276},"app",[262,508,438],{"class":272},[262,510,511],{"class":409},"use",[262,513,413],{"class":276},[262,515,516],{"class":409},"evlog",[262,518,413],{"class":276},[262,520,521],{"class":272},"{",[262,523,524],{"class":449}," drain",[262,526,527],{"class":272},":",[262,529,277],{"class":409},[262,531,532],{"class":276},"() ",[262,534,471],{"class":272},[262,536,537],{"class":276},"))\n",[252,539,540],{"className":254,"code":477,"filename":71,"language":256,"meta":257,"style":257},[259,541,542,560,564],{"__ignoreMap":257},[262,543,544,546,548,550,552,554,556,558],{"class":264,"line":265},[262,545,269],{"class":268},[262,547,273],{"class":272},[262,549,277],{"class":276},[262,551,280],{"class":272},[262,553,283],{"class":268},[262,555,286],{"class":272},[262,557,290],{"class":289},[262,559,293],{"class":272},[262,561,562],{"class":264,"line":345},[262,563,397],{"emptyLinePlaceholder":396},[262,565,566,568,570,572,574,576,578,580,582,584,586,588,590],{"class":264,"line":393},[262,567,506],{"class":276},[262,569,438],{"class":272},[262,571,511],{"class":409},[262,573,413],{"class":276},[262,575,516],{"class":409},[262,577,413],{"class":276},[262,579,521],{"class":272},[262,581,524],{"class":449},[262,583,527],{"class":272},[262,585,277],{"class":409},[262,587,532],{"class":276},[262,589,471],{"class":272},[262,591,537],{"class":276},[252,593,595],{"className":254,"code":594,"filename":81,"language":256,"meta":257,"style":257},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\nawait app.register(evlog, { drain: createAxiomDrain() })\n",[259,596,597,615,619],{"__ignoreMap":257},[262,598,599,601,603,605,607,609,611,613],{"class":264,"line":265},[262,600,269],{"class":268},[262,602,273],{"class":272},[262,604,277],{"class":276},[262,606,280],{"class":272},[262,608,283],{"class":268},[262,610,286],{"class":272},[262,612,290],{"class":289},[262,614,293],{"class":272},[262,616,617],{"class":264,"line":345},[262,618,397],{"emptyLinePlaceholder":396},[262,620,621,624,627,629,632,635,637,639,641,643,645,647,649],{"class":264,"line":393},[262,622,623],{"class":268},"await",[262,625,626],{"class":276}," app",[262,628,438],{"class":272},[262,630,631],{"class":409},"register",[262,633,634],{"class":276},"(evlog",[262,636,460],{"class":272},[262,638,273],{"class":272},[262,640,524],{"class":449},[262,642,527],{"class":272},[262,644,277],{"class":409},[262,646,532],{"class":276},[262,648,471],{"class":272},[262,650,474],{"class":276},[252,652,653],{"className":254,"code":477,"filename":86,"language":256,"meta":257,"style":257},[259,654,655,673,677],{"__ignoreMap":257},[262,656,657,659,661,663,665,667,669,671],{"class":264,"line":265},[262,658,269],{"class":268},[262,660,273],{"class":272},[262,662,277],{"class":276},[262,664,280],{"class":272},[262,666,283],{"class":268},[262,668,286],{"class":272},[262,670,290],{"class":289},[262,672,293],{"class":272},[262,674,675],{"class":264,"line":345},[262,676,397],{"emptyLinePlaceholder":396},[262,678,679,681,683,685,687,689,691,693,695,697,699,701,703],{"class":264,"line":393},[262,680,506],{"class":276},[262,682,438],{"class":272},[262,684,511],{"class":409},[262,686,413],{"class":276},[262,688,516],{"class":409},[262,690,413],{"class":276},[262,692,521],{"class":272},[262,694,524],{"class":449},[262,696,527],{"class":272},[262,698,277],{"class":409},[262,700,532],{"class":276},[262,702,471],{"class":272},[262,704,537],{"class":276},[252,706,708],{"className":254,"code":707,"filename":66,"language":256,"meta":257,"style":257},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\nEvlogModule.forRoot({ drain: createAxiomDrain() })\n",[259,709,710,728,732],{"__ignoreMap":257},[262,711,712,714,716,718,720,722,724,726],{"class":264,"line":265},[262,713,269],{"class":268},[262,715,273],{"class":272},[262,717,277],{"class":276},[262,719,280],{"class":272},[262,721,283],{"class":268},[262,723,286],{"class":272},[262,725,290],{"class":289},[262,727,293],{"class":272},[262,729,730],{"class":264,"line":345},[262,731,397],{"emptyLinePlaceholder":396},[262,733,734,737,739,742,744,746,748,750,752,754,756],{"class":264,"line":393},[262,735,736],{"class":276},"EvlogModule",[262,738,438],{"class":272},[262,740,741],{"class":409},"forRoot",[262,743,413],{"class":276},[262,745,521],{"class":272},[262,747,524],{"class":449},[262,749,527],{"class":272},[262,751,277],{"class":409},[262,753,532],{"class":276},[262,755,471],{"class":272},[262,757,474],{"class":276},[252,759,761],{"className":254,"code":760,"filename":96,"language":256,"meta":257,"style":257},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({ drain: createAxiomDrain() })\n",[259,762,763,781,785],{"__ignoreMap":257},[262,764,765,767,769,771,773,775,777,779],{"class":264,"line":265},[262,766,269],{"class":268},[262,768,273],{"class":272},[262,770,277],{"class":276},[262,772,280],{"class":272},[262,774,283],{"class":268},[262,776,286],{"class":272},[262,778,290],{"class":289},[262,780,293],{"class":272},[262,782,783],{"class":264,"line":345},[262,784,397],{"emptyLinePlaceholder":396},[262,786,787,790,792,794,796,798,800,802,804],{"class":264,"line":393},[262,788,789],{"class":409},"initLogger",[262,791,413],{"class":276},[262,793,521],{"class":272},[262,795,524],{"class":449},[262,797,527],{"class":272},[262,799,277],{"class":409},[262,801,532],{"class":276},[262,803,471],{"class":272},[262,805,474],{"class":276},[235,807,808],{},"That's it! Your logs will now appear in Axiom.",[245,810,812],{"id":811},"configuration","Configuration",[235,814,815],{},"The adapter reads configuration from multiple sources (highest priority first):",[303,817,818,828,838],{},[306,819,820,824,825],{},[821,822,823],"strong",{},"Overrides"," passed to ",[259,826,827],{},"createAxiomDrain()",[306,829,830,833,834,837],{},[821,831,832],{},"Runtime config"," at ",[259,835,836],{},"runtimeConfig.axiom"," (Nuxt\u002FNitro only)",[306,839,840,843,844,847,848,422],{},[821,841,842],{},"Environment variables"," (",[259,845,846],{},"AXIOM_*"," or ",[259,849,850],{},"NUXT_AXIOM_*",[298,852,854],{"id":853},"environment-variables","Environment Variables",[856,857,858,874],"table",{},[859,860,861],"thead",{},[862,863,864,868,871],"tr",{},[865,866,867],"th",{},"Variable",[865,869,870],{},"Nuxt alias",[865,872,873],{},"Description",[875,876,877,892,906,921,936],"tbody",{},[862,878,879,884,889],{},[880,881,882],"td",{},[259,883,336],{},[880,885,886],{},[259,887,888],{},"NUXT_AXIOM_TOKEN",[880,890,891],{},"API token with ingest permissions",[862,893,894,898,903],{},[880,895,896],{},[259,897,348],{},[880,899,900],{},[259,901,902],{},"NUXT_AXIOM_DATASET",[880,904,905],{},"Dataset name to ingest logs into",[862,907,908,913,918],{},[880,909,910],{},[259,911,912],{},"AXIOM_ORG_ID",[880,914,915],{},[259,916,917],{},"NUXT_AXIOM_ORG_ID",[880,919,920],{},"Organization ID (required for Personal Access Tokens)",[862,922,923,928,933],{},[880,924,925],{},[259,926,927],{},"AXIOM_EDGE_URL",[880,929,930],{},[259,931,932],{},"NUXT_AXIOM_EDGE_URL",[880,934,935],{},"Edge base URL for ingest\u002Fquery (for edge deployments)",[862,937,938,943,948],{},[880,939,940],{},[259,941,942],{},"AXIOM_URL",[880,944,945],{},[259,946,947],{},"NUXT_AXIOM_URL",[880,949,950],{},"API base URL (legacy\u002Fdefault ingest endpoint)",[952,953,955,956,959,960,963],"callout",{"color":954,"icon":13},"info","In Nuxt\u002FNitro, use the ",[259,957,958],{},"NUXT_"," prefix so values are available via ",[259,961,962],{},"useRuntimeConfig()",". In all other frameworks, use the unprefixed variables.",[298,965,967],{"id":966},"runtime-config-nuxt-only","Runtime Config (Nuxt only)",[235,969,970,971,974],{},"Configure via ",[259,972,973],{},"nuxt.config.ts"," for type-safe configuration:",[252,976,978],{"className":254,"code":977,"filename":973,"language":256,"meta":257,"style":257},"export default defineNuxtConfig({\n  runtimeConfig: {\n    axiom: {\n      token: '', \u002F\u002F Set via NUXT_AXIOM_TOKEN\n      dataset: '', \u002F\u002F Set via NUXT_AXIOM_DATASET\n    },\n  },\n})\n",[259,979,980,994,1003,1012,1027,1041,1046,1052],{"__ignoreMap":257},[262,981,982,984,986,989,991],{"class":264,"line":265},[262,983,403],{"class":268},[262,985,406],{"class":268},[262,987,988],{"class":409}," defineNuxtConfig",[262,990,413],{"class":276},[262,992,993],{"class":272},"{\n",[262,995,996,999,1001],{"class":264,"line":345},[262,997,998],{"class":449},"  runtimeConfig",[262,1000,527],{"class":272},[262,1002,429],{"class":272},[262,1004,1005,1008,1010],{"class":264,"line":393},[262,1006,1007],{"class":449},"    axiom",[262,1009,527],{"class":272},[262,1011,429],{"class":272},[262,1013,1014,1017,1019,1022,1024],{"class":264,"line":400},[262,1015,1016],{"class":449},"      token",[262,1018,527],{"class":272},[262,1020,1021],{"class":272}," ''",[262,1023,460],{"class":272},[262,1025,1026],{"class":371}," \u002F\u002F Set via NUXT_AXIOM_TOKEN\n",[262,1028,1029,1032,1034,1036,1038],{"class":264,"line":432},[262,1030,1031],{"class":449},"      dataset",[262,1033,527],{"class":272},[262,1035,1021],{"class":272},[262,1037,460],{"class":272},[262,1039,1040],{"class":371}," \u002F\u002F Set via NUXT_AXIOM_DATASET\n",[262,1042,1043],{"class":264,"line":468},[262,1044,1045],{"class":272},"    },\n",[262,1047,1049],{"class":264,"line":1048},7,[262,1050,1051],{"class":272},"  },\n",[262,1053,1055,1057],{"class":264,"line":1054},8,[262,1056,471],{"class":272},[262,1058,474],{"class":276},[298,1060,1062],{"id":1061},"override-options","Override Options",[235,1064,1065],{},"Pass options directly to override any configuration:",[252,1067,1069],{"className":254,"code":1068,"language":256,"meta":257,"style":257},"const drain = createAxiomDrain({\n  dataset: 'production-logs',\n  timeout: 10000,\n})\n",[259,1070,1071,1087,1104,1117],{"__ignoreMap":257},[262,1072,1073,1076,1079,1081,1083,1085],{"class":264,"line":265},[262,1074,1075],{"class":425},"const",[262,1077,1078],{"class":276}," drain ",[262,1080,339],{"class":272},[262,1082,277],{"class":409},[262,1084,413],{"class":276},[262,1086,993],{"class":272},[262,1088,1089,1092,1094,1096,1099,1101],{"class":264,"line":345},[262,1090,1091],{"class":449},"  dataset",[262,1093,527],{"class":272},[262,1095,286],{"class":272},[262,1097,1098],{"class":289},"production-logs",[262,1100,452],{"class":272},[262,1102,1103],{"class":272},",\n",[262,1105,1106,1109,1111,1115],{"class":264,"line":393},[262,1107,1108],{"class":449},"  timeout",[262,1110,527],{"class":272},[262,1112,1114],{"class":1113},"sbssI"," 10000",[262,1116,1103],{"class":272},[262,1118,1119,1121],{"class":264,"line":400},[262,1120,471],{"class":272},[262,1122,474],{"class":276},[298,1124,1126],{"id":1125},"full-configuration-reference","Full Configuration Reference",[856,1128,1129,1144],{},[859,1130,1131],{},[862,1132,1133,1136,1139,1142],{},[865,1134,1135],{},"Option",[865,1137,1138],{},"Type",[865,1140,1141],{},"Default",[865,1143,873],{},[875,1145,1146,1164,1180,1196,1219,1243],{},[862,1147,1148,1153,1158,1161],{},[880,1149,1150],{},[259,1151,1152],{},"token",[880,1154,1155],{},[259,1156,1157],{},"string",[880,1159,1160],{},"-",[880,1162,1163],{},"API token (required)",[862,1165,1166,1171,1175,1177],{},[880,1167,1168],{},[259,1169,1170],{},"dataset",[880,1172,1173],{},[259,1174,1157],{},[880,1176,1160],{},[880,1178,1179],{},"Dataset name (required)",[862,1181,1182,1187,1191,1193],{},[880,1183,1184],{},[259,1185,1186],{},"orgId",[880,1188,1189],{},[259,1190,1157],{},[880,1192,1160],{},[880,1194,1195],{},"Organization ID (for PAT tokens)",[862,1197,1198,1203,1207,1209],{},[880,1199,1200],{},[259,1201,1202],{},"edgeUrl",[880,1204,1205],{},[259,1206,1157],{},[880,1208,1160],{},[880,1210,1211,1212,1215,1216],{},"Edge URL for ingest. Uses ",[259,1213,1214],{},"\u002Fv1\u002Fingest\u002F{dataset}"," when no path is provided; custom paths are used as-is (trailing slash trimmed). Mutually exclusive with ",[259,1217,1218],{},"baseUrl",[862,1220,1221,1225,1229,1234],{},[880,1222,1223],{},[259,1224,1218],{},[880,1226,1227],{},[259,1228,1157],{},[880,1230,1231],{},[259,1232,1233],{},"https:\u002F\u002Fapi.axiom.co",[880,1235,1236,1237,1240,1241],{},"API base URL (",[259,1238,1239],{},"\u002Fv1\u002Fdatasets\u002F{dataset}\u002Fingest","), mutually exclusive with ",[259,1242,1202],{},[862,1244,1245,1250,1255,1260],{},[880,1246,1247],{},[259,1248,1249],{},"timeout",[880,1251,1252],{},[259,1253,1254],{},"number",[880,1256,1257],{},[259,1258,1259],{},"5000",[880,1261,1262],{},"Request timeout in milliseconds",[245,1264,1266],{"id":1265},"querying-logs-in-axiom","Querying Logs in Axiom",[235,1268,1269],{},"evlog sends structured wide events that are perfect for Axiom's APL query language:",[252,1271,1275],{"className":1272,"code":1273,"language":1274,"meta":257,"style":257},"language-apl shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Find slow requests\n['your-dataset']\n| where duration > 1000\n| project timestamp, path, duration, status\n\n\u002F\u002F Error rate by endpoint\n['your-dataset']\n| where level == \"error\"\n| summarize count() by path\n| order by count_ desc\n\n\u002F\u002F Request volume over time\n['your-dataset']\n| summarize count() by bin(timestamp, 1h)\n| render timechart\n","apl",[259,1276,1277,1282,1287,1292,1297,1301,1306,1310,1315,1321,1327,1332,1338,1343,1349],{"__ignoreMap":257},[262,1278,1279],{"class":264,"line":265},[262,1280,1281],{},"\u002F\u002F Find slow requests\n",[262,1283,1284],{"class":264,"line":345},[262,1285,1286],{},"['your-dataset']\n",[262,1288,1289],{"class":264,"line":393},[262,1290,1291],{},"| where duration > 1000\n",[262,1293,1294],{"class":264,"line":400},[262,1295,1296],{},"| project timestamp, path, duration, status\n",[262,1298,1299],{"class":264,"line":432},[262,1300,397],{"emptyLinePlaceholder":396},[262,1302,1303],{"class":264,"line":468},[262,1304,1305],{},"\u002F\u002F Error rate by endpoint\n",[262,1307,1308],{"class":264,"line":1048},[262,1309,1286],{},[262,1311,1312],{"class":264,"line":1054},[262,1313,1314],{},"| where level == \"error\"\n",[262,1316,1318],{"class":264,"line":1317},9,[262,1319,1320],{},"| summarize count() by path\n",[262,1322,1324],{"class":264,"line":1323},10,[262,1325,1326],{},"| order by count_ desc\n",[262,1328,1330],{"class":264,"line":1329},11,[262,1331,397],{"emptyLinePlaceholder":396},[262,1333,1335],{"class":264,"line":1334},12,[262,1336,1337],{},"\u002F\u002F Request volume over time\n",[262,1339,1341],{"class":264,"line":1340},13,[262,1342,1286],{},[262,1344,1346],{"class":264,"line":1345},14,[262,1347,1348],{},"| summarize count() by bin(timestamp, 1h)\n",[262,1350,1352],{"class":264,"line":1351},15,[262,1353,1354],{},"| render timechart\n",[245,1356,1358],{"id":1357},"troubleshooting","Troubleshooting",[298,1360,1362],{"id":1361},"missing-dataset-or-token-error","Missing dataset or token error",[252,1364,1369],{"className":1365,"code":1367,"language":1368},[1366],"language-text","[evlog\u002Faxiom] Missing dataset or token. Set AXIOM_DATASET and AXIOM_TOKEN\n","text",[259,1370,1367],{"__ignoreMap":257},[235,1372,1373],{},"Make sure your environment variables are set and the server was restarted after adding them.",[298,1375,1377],{"id":1376},"_401-unauthorized","401 Unauthorized",[235,1379,1380,1381,1384],{},"Your token may be invalid or expired. Generate a new token in the Axiom dashboard with ",[821,1382,1383],{},"Ingest"," permissions.",[298,1386,1388],{"id":1387},"_403-forbidden-with-pat-tokens","403 Forbidden with PAT tokens",[235,1390,1391],{},"Personal Access Tokens require an organization ID:",[252,1393,1395],{"className":326,"code":1394,"filename":328,"language":329,"meta":257,"style":257},"AXIOM_ORG_ID=your-org-id\n",[259,1396,1397],{"__ignoreMap":257},[262,1398,1399,1401,1403],{"class":264,"line":265},[262,1400,912],{"class":276},[262,1402,339],{"class":272},[262,1404,1405],{"class":289},"your-org-id\n",[245,1407,1409],{"id":1408},"direct-api-usage","Direct API Usage",[235,1411,1412],{},"For advanced use cases, you can use the lower-level functions:",[252,1414,1417],{"className":254,"code":1415,"filename":1416,"language":256,"meta":257,"style":257},"import { sendToAxiom, sendBatchToAxiom } from 'evlog\u002Faxiom'\n\n\u002F\u002F Send a single event\nawait sendToAxiom(event, {\n  token: 'xaat-xxx',\n  dataset: 'logs',\n})\n\n\u002F\u002F Send multiple events in one request\nawait sendBatchToAxiom(events, {\n  token: 'xaat-xxx',\n  dataset: 'logs',\n})\n","server\u002Futils\u002Faxiom.ts",[259,1418,1419,1443,1447,1452,1465,1481,1496,1502,1506,1511,1524,1538,1552],{"__ignoreMap":257},[262,1420,1421,1423,1425,1428,1430,1433,1435,1437,1439,1441],{"class":264,"line":265},[262,1422,269],{"class":268},[262,1424,273],{"class":272},[262,1426,1427],{"class":276}," sendToAxiom",[262,1429,460],{"class":272},[262,1431,1432],{"class":276}," sendBatchToAxiom",[262,1434,280],{"class":272},[262,1436,283],{"class":268},[262,1438,286],{"class":272},[262,1440,290],{"class":289},[262,1442,293],{"class":272},[262,1444,1445],{"class":264,"line":345},[262,1446,397],{"emptyLinePlaceholder":396},[262,1448,1449],{"class":264,"line":393},[262,1450,1451],{"class":371},"\u002F\u002F Send a single event\n",[262,1453,1454,1456,1458,1461,1463],{"class":264,"line":400},[262,1455,623],{"class":268},[262,1457,1427],{"class":409},[262,1459,1460],{"class":276},"(event",[262,1462,460],{"class":272},[262,1464,429],{"class":272},[262,1466,1467,1470,1472,1474,1477,1479],{"class":264,"line":432},[262,1468,1469],{"class":449},"  token",[262,1471,527],{"class":272},[262,1473,286],{"class":272},[262,1475,1476],{"class":289},"xaat-xxx",[262,1478,452],{"class":272},[262,1480,1103],{"class":272},[262,1482,1483,1485,1487,1489,1492,1494],{"class":264,"line":468},[262,1484,1091],{"class":449},[262,1486,527],{"class":272},[262,1488,286],{"class":272},[262,1490,1491],{"class":289},"logs",[262,1493,452],{"class":272},[262,1495,1103],{"class":272},[262,1497,1498,1500],{"class":264,"line":1048},[262,1499,471],{"class":272},[262,1501,474],{"class":276},[262,1503,1504],{"class":264,"line":1054},[262,1505,397],{"emptyLinePlaceholder":396},[262,1507,1508],{"class":264,"line":1317},[262,1509,1510],{"class":371},"\u002F\u002F Send multiple events in one request\n",[262,1512,1513,1515,1517,1520,1522],{"class":264,"line":1323},[262,1514,623],{"class":268},[262,1516,1432],{"class":409},[262,1518,1519],{"class":276},"(events",[262,1521,460],{"class":272},[262,1523,429],{"class":272},[262,1525,1526,1528,1530,1532,1534,1536],{"class":264,"line":1329},[262,1527,1469],{"class":449},[262,1529,527],{"class":272},[262,1531,286],{"class":272},[262,1533,1476],{"class":289},[262,1535,452],{"class":272},[262,1537,1103],{"class":272},[262,1539,1540,1542,1544,1546,1548,1550],{"class":264,"line":1334},[262,1541,1091],{"class":449},[262,1543,527],{"class":272},[262,1545,286],{"class":272},[262,1547,1491],{"class":289},[262,1549,452],{"class":272},[262,1551,1103],{"class":272},[262,1553,1554,1556],{"class":264,"line":1340},[262,1555,471],{"class":272},[262,1557,474],{"class":276},[245,1559,1561],{"id":1560},"next-steps","Next Steps",[1563,1564,1565,1571,1577,1582],"ul",{},[306,1566,1567,1570],{},[238,1568,1569],{"href":165},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[306,1572,1573,1576],{},[238,1574,1575],{"href":170},"PostHog Adapter"," - Send logs to PostHog",[306,1578,1579,1581],{},[238,1580,184],{"href":185}," - Build your own adapter",[306,1583,1584,1586],{},[238,1585,131],{"href":132}," - Security and production tips",[1588,1589,1590],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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}",{"title":257,"searchDepth":345,"depth":345,"links":1592},[1593,1594,1599,1605,1606,1611,1612],{"id":247,"depth":345,"text":15},{"id":296,"depth":345,"text":20,"children":1595},[1596,1597,1598],{"id":300,"depth":393,"text":301},{"id":322,"depth":393,"text":323},{"id":356,"depth":393,"text":357},{"id":811,"depth":345,"text":812,"children":1600},[1601,1602,1603,1604],{"id":853,"depth":393,"text":854},{"id":966,"depth":393,"text":967},{"id":1061,"depth":393,"text":1062},{"id":1125,"depth":393,"text":1126},{"id":1265,"depth":345,"text":1266},{"id":1357,"depth":345,"text":1358,"children":1607},[1608,1609,1610],{"id":1361,"depth":393,"text":1362},{"id":1376,"depth":393,"text":1377},{"id":1387,"depth":393,"text":1388},{"id":1408,"depth":345,"text":1409},{"id":1560,"depth":345,"text":1561},"Send wide events to Axiom for powerful querying, dashboards, and alerting. Zero-config setup with environment variables and automatic batching.","md",[1616,1622],{"label":1617,"icon":1618,"to":311,"target":1619,"color":1620,"variant":1621},"Axiom Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":1569,"icon":167,"to":165,"color":1620,"variant":1621},{},{"title":159,"icon":162},{"title":230,"description":1613},"9bYOIRnXc7-cx7dtauHDhm_FzwkdB-S6RRyAZLFK_fA",[1628,1630],{"title":36,"path":155,"stem":156,"description":1629,"icon":157,"children":-1},"Send your logs to external services with evlog adapters. Built-in support for popular observability platforms and custom destinations.",{"title":164,"path":165,"stem":166,"description":1631,"icon":167,"children":-1},"Send logs via OpenTelemetry Protocol (OTLP) to Grafana, Datadog, Honeycomb, and any compatible backend. Supports gRPC and HTTP transports.",1773428030085]