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