[{"data":1,"prerenderedAt":2129},["ShallowReactive",2],{"navigation_docs":3,"-adapters-cloud-axiom":454,"-adapters-cloud-axiom-surround":2124},[4,35,159,201,289,352,438],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29],{"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",{"title":30,"path":31,"stem":32,"icon":33},"vs Other Loggers","\u002Fgetting-started\u002Fvs-other-loggers","1.getting-started\u002F5.vs-other-loggers","i-lucide-scale",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Logging","\u002Flogging","2.logging",[40,45,50,55,60,65,70,99,127],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Flogging\u002Foverview","2.logging\u002F0.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Simple Logging","\u002Flogging\u002Fsimple-logging","2.logging\u002F1.simple-logging","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54},"Wide Events","\u002Flogging\u002Fwide-events","2.logging\u002F2.wide-events","i-lucide-layers",{"title":56,"path":57,"stem":58,"icon":59},"Structured Errors","\u002Flogging\u002Fstructured-errors","2.logging\u002F3.structured-errors","i-lucide-shield-alert",{"title":61,"path":62,"stem":63,"icon":64},"Catalogs","\u002Flogging\u002Fcatalogs","2.logging\u002F4.catalogs","i-lucide-book-open",{"title":66,"path":67,"stem":68,"icon":69},"Client Logging","\u002Flogging\u002Fclient-logging","2.logging\u002F5.client-logging","i-lucide-monitor",{"title":71,"icon":72,"path":73,"stem":74,"children":75,"page":34},"AI SDK","i-simple-icons-vercel","\u002Flogging\u002Fai-sdk","2.logging\u002F6.ai-sdk",[76,79,84,89,94],{"title":41,"path":77,"stem":78,"icon":44},"\u002Flogging\u002Fai-sdk\u002Foverview","2.logging\u002F6.ai-sdk\u002F01.overview",{"title":80,"path":81,"stem":82,"icon":83},"Usage","\u002Flogging\u002Fai-sdk\u002Fusage","2.logging\u002F6.ai-sdk\u002F02.usage","i-lucide-code",{"title":85,"path":86,"stem":87,"icon":88},"Options","\u002Flogging\u002Fai-sdk\u002Foptions","2.logging\u002F6.ai-sdk\u002F03.options","i-lucide-sliders",{"title":90,"path":91,"stem":92,"icon":93},"Metadata","\u002Flogging\u002Fai-sdk\u002Fmetadata","2.logging\u002F6.ai-sdk\u002F04.metadata","i-lucide-database",{"title":95,"path":96,"stem":97,"icon":98},"Telemetry","\u002Flogging\u002Fai-sdk\u002Ftelemetry","2.logging\u002F6.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Flogging\u002Fbetter-auth","2.logging\u002F7.better-auth",[105,108,113,118,122],{"title":41,"path":106,"stem":107,"icon":44},"\u002Flogging\u002Fbetter-auth\u002Foverview","2.logging\u002F7.better-auth\u002F01.overview",{"title":109,"path":110,"stem":111,"icon":112},"Identify User","\u002Flogging\u002Fbetter-auth\u002Fidentify-user","2.logging\u002F7.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":114,"path":115,"stem":116,"icon":117},"Middleware","\u002Flogging\u002Fbetter-auth\u002Fmiddleware","2.logging\u002F7.better-auth\u002F03.middleware","i-lucide-shield",{"title":119,"path":120,"stem":121,"icon":69},"Client Sync","\u002Flogging\u002Fbetter-auth\u002Fclient-sync","2.logging\u002F7.better-auth\u002F04.client-sync",{"title":123,"path":124,"stem":125,"icon":126},"Performance","\u002Flogging\u002Fbetter-auth\u002Fperformance","2.logging\u002F7.better-auth\u002F05.performance","i-lucide-gauge",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":34},"Audit Logs","i-lucide-shield-check","\u002Flogging\u002Faudit","2.logging\u002F8.audit",[133,136,141,146,151,155],{"title":41,"path":134,"stem":135,"icon":44},"\u002Flogging\u002Faudit\u002Foverview","2.logging\u002F8.audit\u002F01.overview",{"title":137,"path":138,"stem":139,"icon":140},"Schema","\u002Flogging\u002Faudit\u002Fschema","2.logging\u002F8.audit\u002F02.schema","i-lucide-file-text",{"title":142,"path":143,"stem":144,"icon":145},"Recording","\u002Flogging\u002Faudit\u002Frecording","2.logging\u002F8.audit\u002F03.recording","i-lucide-pen-line",{"title":147,"path":148,"stem":149,"icon":150},"Drains","\u002Flogging\u002Faudit\u002Fpipeline","2.logging\u002F8.audit\u002F04.pipeline","i-lucide-link",{"title":152,"path":153,"stem":154,"icon":129},"Compliance","\u002Flogging\u002Faudit\u002Fcompliance","2.logging\u002F8.audit\u002F05.compliance",{"title":156,"path":157,"stem":158,"icon":64},"Recipes","\u002Flogging\u002Faudit\u002Frecipes","2.logging\u002F8.audit\u002F06.recipes",{"title":160,"path":161,"stem":162,"children":163,"page":34},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[164,169,174,179,184,188,191,196],{"title":165,"path":166,"stem":167,"icon":168},"Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":170,"path":171,"stem":172,"icon":173},"Configuration","\u002Fcore-concepts\u002Fconfiguration","3.core-concepts\u002F1.configuration","i-lucide-settings",{"title":175,"path":176,"stem":177,"icon":178},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F2.sampling","i-lucide-filter",{"title":180,"path":181,"stem":182,"icon":183},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F3.typed-fields","i-simple-icons-typescript",{"title":185,"path":186,"stem":187,"icon":129},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F4.best-practices",{"title":123,"path":189,"stem":190,"icon":126},"\u002Fcore-concepts\u002Fperformance","3.core-concepts\u002F5.performance",{"title":192,"path":193,"stem":194,"icon":195},"Vite Plugin","\u002Fcore-concepts\u002Fvite-plugin","3.core-concepts\u002F6.vite-plugin","i-custom-vite",{"title":197,"path":198,"stem":199,"icon":200},"Auto-Redaction","\u002Fcore-concepts\u002Fredaction","3.core-concepts\u002F7.redaction","i-lucide-eye-off",{"title":202,"path":203,"stem":204,"children":205,"page":34},"Frameworks","\u002Fframeworks","4.frameworks",[206,210,215,220,225,230,235,240,245,250,255,260,265,270,274,279,284],{"title":41,"path":207,"stem":208,"icon":209},"\u002Fframeworks\u002Foverview","4.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":211,"path":212,"stem":213,"icon":214},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":216,"path":217,"stem":218,"icon":219},"Next.js","\u002Fframeworks\u002Fnextjs","4.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":221,"path":222,"stem":223,"icon":224},"SvelteKit","\u002Fframeworks\u002Fsveltekit","4.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":226,"path":227,"stem":228,"icon":229},"Nitro","\u002Fframeworks\u002Fnitro","4.frameworks\u002F04.nitro","i-custom-nitro",{"title":231,"path":232,"stem":233,"icon":234},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","4.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":236,"path":237,"stem":238,"icon":239},"NestJS","\u002Fframeworks\u002Fnestjs","4.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":241,"path":242,"stem":243,"icon":244},"Express","\u002Fframeworks\u002Fexpress","4.frameworks\u002F07.express","i-simple-icons-express",{"title":246,"path":247,"stem":248,"icon":249},"Hono","\u002Fframeworks\u002Fhono","4.frameworks\u002F08.hono","i-simple-icons-hono",{"title":251,"path":252,"stem":253,"icon":254},"Fastify","\u002Fframeworks\u002Ffastify","4.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":256,"path":257,"stem":258,"icon":259},"Elysia","\u002Fframeworks\u002Felysia","4.frameworks\u002F10.elysia","i-custom-elysia",{"title":261,"path":262,"stem":263,"icon":264},"React Router","\u002Fframeworks\u002Freact-router","4.frameworks\u002F11.react-router","i-custom-reactrouter",{"title":266,"path":267,"stem":268,"icon":269},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","4.frameworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":271,"path":272,"stem":273,"icon":183},"Standalone","\u002Fframeworks\u002Fstandalone","4.frameworks\u002F13.standalone",{"title":275,"path":276,"stem":277,"icon":278},"Astro","\u002Fframeworks\u002Fastro","4.frameworks\u002F14.astro","i-simple-icons-astro",{"title":280,"path":281,"stem":282,"icon":283},"AWS Lambda","\u002Fframeworks\u002Faws-lambda","4.frameworks\u002F16.aws-lambda","i-custom-lambda",{"title":285,"path":286,"stem":287,"icon":288},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","4.frameworks\u002F17.custom-integration","i-lucide-puzzle",{"title":290,"path":291,"stem":292,"children":293,"page":34},"Build on top","\u002Fbuild-on-top","5.build-on-top",[294,297,302,307,312,316,321,326,330,334,338,342,347],{"title":41,"path":295,"stem":296,"icon":54},"\u002Fbuild-on-top\u002Foverview","5.build-on-top\u002F0.overview",{"title":298,"path":299,"stem":300,"icon":301},"In-process stream","\u002Fbuild-on-top\u002Fin-process-stream","5.build-on-top\u002F1.in-process-stream","i-lucide-radio-tower",{"title":303,"path":304,"stem":305,"icon":306},"Fanout","\u002Fbuild-on-top\u002Ffanout-and-multi-drain","5.build-on-top\u002F10.fanout-and-multi-drain","i-lucide-share-2",{"title":308,"path":309,"stem":310,"icon":311},"Identity headers","\u002Fbuild-on-top\u002Fidentity-headers","5.build-on-top\u002F11.identity-headers","i-lucide-fingerprint",{"title":313,"path":314,"stem":315,"icon":288},"Custom framework","\u002Fbuild-on-top\u002Fcustom-framework","5.build-on-top\u002F12.custom-framework",{"title":317,"path":318,"stem":319,"icon":320},"Stream server","\u002Fbuild-on-top\u002Fstream-server","5.build-on-top\u002F2.stream-server","i-lucide-radio",{"title":322,"path":323,"stem":324,"icon":325},"FS reader","\u002Fbuild-on-top\u002Ffs-reader","5.build-on-top\u002F3.fs-reader","i-lucide-folder-search",{"title":156,"path":327,"stem":328,"icon":329},"\u002Fbuild-on-top\u002Fconsumer-recipes","5.build-on-top\u002F4.consumer-recipes","i-lucide-chef-hat",{"title":331,"path":332,"stem":333,"icon":288},"Plugins","\u002Fbuild-on-top\u002Fplugins","5.build-on-top\u002F5.plugins",{"title":335,"path":336,"stem":337,"icon":28},"Custom enrichers","\u002Fbuild-on-top\u002Fcustom-enrichers","5.build-on-top\u002F6.custom-enrichers",{"title":339,"path":340,"stem":341,"icon":178},"Tail sampling","\u002Fbuild-on-top\u002Ftail-sampling","5.build-on-top\u002F7.tail-sampling",{"title":343,"path":344,"stem":345,"icon":346},"Custom drains","\u002Fbuild-on-top\u002Fcustom-drains","5.build-on-top\u002F8.custom-drains","i-lucide-code-2",{"title":348,"path":349,"stem":350,"icon":351},"Drain pipeline","\u002Fbuild-on-top\u002Fdrain-pipeline","5.build-on-top\u002F9.drain-pipeline","i-lucide-workflow",{"title":353,"path":354,"stem":355,"children":356,"page":34},"Adapters","\u002Fadapters","6.adapters",[357,360,400,415],{"title":41,"path":358,"stem":359,"icon":44},"\u002Fadapters\u002Foverview","6.adapters\u002F01.overview",{"title":361,"path":362,"stem":363,"children":364,"page":34},"Cloud destinations","\u002Fadapters\u002Fcloud","6.adapters\u002F02.cloud",[365,370,375,380,385,390,395],{"title":366,"path":367,"stem":368,"icon":369},"Axiom","\u002Fadapters\u002Fcloud\u002Faxiom","6.adapters\u002F02.cloud\u002F01.axiom","i-custom-axiom",{"title":371,"path":372,"stem":373,"icon":374},"OTLP","\u002Fadapters\u002Fcloud\u002Fotlp","6.adapters\u002F02.cloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":376,"path":377,"stem":378,"icon":379},"PostHog","\u002Fadapters\u002Fcloud\u002Fposthog","6.adapters\u002F02.cloud\u002F03.posthog","i-simple-icons-posthog",{"title":381,"path":382,"stem":383,"icon":384},"Sentry","\u002Fadapters\u002Fcloud\u002Fsentry","6.adapters\u002F02.cloud\u002F04.sentry","i-simple-icons-sentry",{"title":386,"path":387,"stem":388,"icon":389},"Better Stack","\u002Fadapters\u002Fcloud\u002Fbetter-stack","6.adapters\u002F02.cloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":391,"path":392,"stem":393,"icon":394},"Datadog","\u002Fadapters\u002Fcloud\u002Fdatadog","6.adapters\u002F02.cloud\u002F06.datadog","i-simple-icons-datadog",{"title":396,"path":397,"stem":398,"icon":399},"HyperDX","\u002Fadapters\u002Fcloud\u002Fhyperdx","6.adapters\u002F02.cloud\u002F07.hyperdx","i-custom-hyperdx",{"title":401,"path":402,"stem":403,"children":404,"page":34},"Self-hosted","\u002Fadapters\u002Fself-hosted","6.adapters\u002F03.self-hosted",[405,410],{"title":406,"path":407,"stem":408,"icon":409},"File System","\u002Fadapters\u002Fself-hosted\u002Ffs","6.adapters\u002F03.self-hosted\u002F01.fs","i-lucide-hard-drive",{"title":411,"path":412,"stem":413,"icon":414},"NuxtHub","\u002Fadapters\u002Fself-hosted\u002Fnuxthub","6.adapters\u002F03.self-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":416,"path":417,"stem":418,"children":419,"page":34},"Building blocks","\u002Fadapters\u002Fbuilding-blocks","6.adapters\u002F04.building-blocks",[420,424,429,433],{"title":421,"path":422,"stem":423,"icon":351},"Pipeline","\u002Fadapters\u002Fbuilding-blocks\u002Fpipeline","6.adapters\u002F04.building-blocks\u002F01.pipeline",{"title":425,"path":426,"stem":427,"icon":428},"HTTP","\u002Fadapters\u002Fbuilding-blocks\u002Fhttp","6.adapters\u002F04.building-blocks\u002F02.http","i-lucide-globe",{"title":430,"path":431,"stem":432,"icon":83},"Custom Adapters","\u002Fadapters\u002Fbuilding-blocks\u002Fcustom","6.adapters\u002F04.building-blocks\u002F03.custom",{"title":434,"path":435,"stem":436,"icon":437},"Toolkit","\u002Fadapters\u002Fbuilding-blocks\u002Ftoolkit","6.adapters\u002F04.building-blocks\u002F04.toolkit","i-lucide-blocks",{"title":439,"path":440,"stem":441,"children":442,"page":34},"Enrichers","\u002Fenrichers","7.enrichers",[443,446,450],{"title":41,"path":444,"stem":445,"icon":28},"\u002Fenrichers\u002Foverview","7.enrichers\u002F1.overview",{"title":447,"path":448,"stem":449,"icon":288},"Built-in","\u002Fenrichers\u002Fbuilt-in","7.enrichers\u002F2.built-in",{"title":451,"path":452,"stem":453,"icon":83},"Custom","\u002Fenrichers\u002Fcustom","7.enrichers\u002F3.custom",{"id":455,"title":456,"body":457,"description":2110,"extension":2111,"links":2112,"meta":2120,"navigation":2121,"path":367,"seo":2122,"stem":368,"__hash__":2123},"docs\u002F6.adapters\u002F02.cloud\u002F01.axiom.md","Axiom Adapter",{"type":458,"value":459,"toc":2088},"minimark",[460,470,512,516,519,563,566,571,587,591,621,625,1203,1206,1209,1212,1247,1251,1347,1360,1364,1371,1452,1456,1459,1516,1520,1656,1660,1663,1851,1855,1859,1868,1871,1875,1882,1886,1889,1903,1907,1910,2055,2059,2084],[461,462,463,469],"p",{},[464,465,366],"a",{"href":466,"rel":467},"https:\u002F\u002Faxiom.co",[468],"nofollow"," is a cloud-native logging platform with powerful querying capabilities. The evlog Axiom adapter sends your wide events directly to Axiom datasets.",[471,472,475,478,500],"prompt",{":actions":473,"description":474,"icon":369},"[\"copy\",\"cursor\",\"windsurf\"]","Add the Axiom drain adapter",[461,476,477],{},"Add the Axiom drain adapter to send evlog wide events to Axiom.",[479,480,481,485,488,491,494,497],"ol",{},[482,483,484],"li",{},"Identify which framework I'm using and follow its evlog integration pattern",[482,486,487],{},"Install evlog if not already installed",[482,489,490],{},"Import createAxiomDrain from 'evlog\u002Faxiom'",[482,492,493],{},"Wire createAxiomDrain() into my framework's drain configuration",[482,495,496],{},"Set AXIOM_TOKEN and AXIOM_DATASET environment variables in .env",[482,498,499],{},"Test by triggering a request and checking the Axiom dataset",[461,501,502,503,507,508],{},"Adapter docs: ",[464,504,505],{"href":505,"rel":506},"https:\u002F\u002Fwww.evlog.dev\u002Fadapters\u002Fcloud\u002Faxiom",[468],"\nFramework setup: ",[464,509,510],{"href":510,"rel":511},"https:\u002F\u002Fwww.evlog.dev\u002Fframeworks",[468],[513,514,15],"h2",{"id":515},"installation",[461,517,518],{},"The Axiom adapter comes bundled with evlog:",[520,521,527],"pre",{"className":522,"code":523,"filename":524,"language":525,"meta":526,"style":526},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createAxiomDrain } from 'evlog\u002Faxiom'\n","src\u002Findex.ts","typescript","",[528,529,530],"code",{"__ignoreMap":526},[531,532,535,539,543,547,550,553,556,560],"span",{"class":533,"line":534},"line",1,[531,536,538],{"class":537},"s7zQu","import",[531,540,542],{"class":541},"sMK4o"," {",[531,544,546],{"class":545},"sTEyZ"," createAxiomDrain",[531,548,549],{"class":541}," }",[531,551,552],{"class":537}," from",[531,554,555],{"class":541}," '",[531,557,559],{"class":558},"sfazB","evlog\u002Faxiom",[531,561,562],{"class":541},"'\n",[513,564,20],{"id":565},"quick-start",[567,568,570],"h3",{"id":569},"_1-get-your-axiom-credentials","1. Get your Axiom credentials",[479,572,573,581,584],{},[482,574,575,576],{},"Create an ",[464,577,580],{"href":578,"rel":579},"https:\u002F\u002Fapp.axiom.co",[468],"Axiom account",[482,582,583],{},"Create a dataset for your logs",[482,585,586],{},"Generate an API token with ingest permissions",[567,588,590],{"id":589},"_2-set-environment-variables","2. Set environment variables",[520,592,597],{"className":593,"code":594,"filename":595,"language":596,"meta":526,"style":526},"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",[528,598,599,610],{"__ignoreMap":526},[531,600,601,604,607],{"class":533,"line":534},[531,602,603],{"class":545},"AXIOM_TOKEN",[531,605,606],{"class":541},"=",[531,608,609],{"class":558},"xaat-your-token-here\n",[531,611,613,616,618],{"class":533,"line":612},2,[531,614,615],{"class":545},"AXIOM_DATASET",[531,617,606],{"class":541},[531,619,620],{"class":558},"your-dataset-name\n",[567,622,624],{"id":623},"_3-wire-the-drain-to-your-framework","3. Wire the drain to your framework",[626,627,628,742,873,935,989,1048,1102,1155],"code-group",{},[520,629,632],{"className":522,"code":630,"filename":631,"language":525,"meta":526,"style":526},"\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",[528,633,634,640,658,665,697,733],{"__ignoreMap":526},[531,635,636],{"class":533,"line":534},[531,637,639],{"class":638},"sHwdD","\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\n",[531,641,642,644,646,648,650,652,654,656],{"class":533,"line":612},[531,643,538],{"class":537},[531,645,542],{"class":541},[531,647,546],{"class":545},[531,649,549],{"class":541},[531,651,552],{"class":537},[531,653,555],{"class":541},[531,655,559],{"class":558},[531,657,562],{"class":541},[531,659,661],{"class":533,"line":660},3,[531,662,664],{"emptyLinePlaceholder":663},true,"\n",[531,666,668,671,674,678,681,683,687,690,694],{"class":533,"line":667},4,[531,669,670],{"class":537},"export",[531,672,673],{"class":537}," default",[531,675,677],{"class":676},"s2Zo4"," defineNitroPlugin",[531,679,680],{"class":545},"(",[531,682,680],{"class":541},[531,684,686],{"class":685},"sHdIc","nitroApp",[531,688,689],{"class":541},")",[531,691,693],{"class":692},"spNyl"," =>",[531,695,696],{"class":541}," {\n",[531,698,700,703,706,709,711,714,717,720,723,725,728,730],{"class":533,"line":699},5,[531,701,702],{"class":545},"  nitroApp",[531,704,705],{"class":541},".",[531,707,708],{"class":545},"hooks",[531,710,705],{"class":541},[531,712,713],{"class":676},"hook",[531,715,680],{"class":716},"swJcz",[531,718,719],{"class":541},"'",[531,721,722],{"class":558},"evlog:drain",[531,724,719],{"class":541},[531,726,727],{"class":541},",",[531,729,546],{"class":676},[531,731,732],{"class":716},"())\n",[531,734,736,739],{"class":533,"line":735},6,[531,737,738],{"class":541},"}",[531,740,741],{"class":545},")\n",[520,743,745],{"className":522,"code":744,"filename":216,"language":525,"meta":526,"style":526},"\u002F\u002F lib\u002Fevlog.ts\nimport { createEvlog } from 'evlog\u002Fnext'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nexport const { withEvlog, useLogger, log, createError } = createEvlog({\n  service: 'my-app',\n  drain: createAxiomDrain(),\n})\n",[528,746,747,752,772,790,794,833,851,866],{"__ignoreMap":526},[531,748,749],{"class":533,"line":534},[531,750,751],{"class":638},"\u002F\u002F lib\u002Fevlog.ts\n",[531,753,754,756,758,761,763,765,767,770],{"class":533,"line":612},[531,755,538],{"class":537},[531,757,542],{"class":541},[531,759,760],{"class":545}," createEvlog",[531,762,549],{"class":541},[531,764,552],{"class":537},[531,766,555],{"class":541},[531,768,769],{"class":558},"evlog\u002Fnext",[531,771,562],{"class":541},[531,773,774,776,778,780,782,784,786,788],{"class":533,"line":660},[531,775,538],{"class":537},[531,777,542],{"class":541},[531,779,546],{"class":545},[531,781,549],{"class":541},[531,783,552],{"class":537},[531,785,555],{"class":541},[531,787,559],{"class":558},[531,789,562],{"class":541},[531,791,792],{"class":533,"line":667},[531,793,664],{"emptyLinePlaceholder":663},[531,795,796,798,801,803,806,808,811,813,816,818,821,823,826,828,830],{"class":533,"line":699},[531,797,670],{"class":537},[531,799,800],{"class":692}," const",[531,802,542],{"class":541},[531,804,805],{"class":545}," withEvlog",[531,807,727],{"class":541},[531,809,810],{"class":545}," useLogger",[531,812,727],{"class":541},[531,814,815],{"class":545}," log",[531,817,727],{"class":541},[531,819,820],{"class":545}," createError ",[531,822,738],{"class":541},[531,824,825],{"class":541}," =",[531,827,760],{"class":676},[531,829,680],{"class":545},[531,831,832],{"class":541},"{\n",[531,834,835,838,841,843,846,848],{"class":533,"line":735},[531,836,837],{"class":716},"  service",[531,839,840],{"class":541},":",[531,842,555],{"class":541},[531,844,845],{"class":558},"my-app",[531,847,719],{"class":541},[531,849,850],{"class":541},",\n",[531,852,854,857,859,861,864],{"class":533,"line":853},7,[531,855,856],{"class":716},"  drain",[531,858,840],{"class":541},[531,860,546],{"class":676},[531,862,863],{"class":545},"()",[531,865,850],{"class":541},[531,867,869,871],{"class":533,"line":868},8,[531,870,738],{"class":541},[531,872,741],{"class":545},[520,874,876],{"className":522,"code":875,"filename":246,"language":525,"meta":526,"style":526},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\napp.use(evlog({ drain: createAxiomDrain() }))\n",[528,877,878,896,900],{"__ignoreMap":526},[531,879,880,882,884,886,888,890,892,894],{"class":533,"line":534},[531,881,538],{"class":537},[531,883,542],{"class":541},[531,885,546],{"class":545},[531,887,549],{"class":541},[531,889,552],{"class":537},[531,891,555],{"class":541},[531,893,559],{"class":558},[531,895,562],{"class":541},[531,897,898],{"class":533,"line":612},[531,899,664],{"emptyLinePlaceholder":663},[531,901,902,905,907,910,912,915,917,920,923,925,927,930,932],{"class":533,"line":660},[531,903,904],{"class":545},"app",[531,906,705],{"class":541},[531,908,909],{"class":676},"use",[531,911,680],{"class":545},[531,913,914],{"class":676},"evlog",[531,916,680],{"class":545},[531,918,919],{"class":541},"{",[531,921,922],{"class":716}," drain",[531,924,840],{"class":541},[531,926,546],{"class":676},[531,928,929],{"class":545},"() ",[531,931,738],{"class":541},[531,933,934],{"class":545},"))\n",[520,936,937],{"className":522,"code":875,"filename":241,"language":525,"meta":526,"style":526},[528,938,939,957,961],{"__ignoreMap":526},[531,940,941,943,945,947,949,951,953,955],{"class":533,"line":534},[531,942,538],{"class":537},[531,944,542],{"class":541},[531,946,546],{"class":545},[531,948,549],{"class":541},[531,950,552],{"class":537},[531,952,555],{"class":541},[531,954,559],{"class":558},[531,956,562],{"class":541},[531,958,959],{"class":533,"line":612},[531,960,664],{"emptyLinePlaceholder":663},[531,962,963,965,967,969,971,973,975,977,979,981,983,985,987],{"class":533,"line":660},[531,964,904],{"class":545},[531,966,705],{"class":541},[531,968,909],{"class":676},[531,970,680],{"class":545},[531,972,914],{"class":676},[531,974,680],{"class":545},[531,976,919],{"class":541},[531,978,922],{"class":716},[531,980,840],{"class":541},[531,982,546],{"class":676},[531,984,929],{"class":545},[531,986,738],{"class":541},[531,988,934],{"class":545},[520,990,992],{"className":522,"code":991,"filename":251,"language":525,"meta":526,"style":526},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\nawait app.register(evlog, { drain: createAxiomDrain() })\n",[528,993,994,1012,1016],{"__ignoreMap":526},[531,995,996,998,1000,1002,1004,1006,1008,1010],{"class":533,"line":534},[531,997,538],{"class":537},[531,999,542],{"class":541},[531,1001,546],{"class":545},[531,1003,549],{"class":541},[531,1005,552],{"class":537},[531,1007,555],{"class":541},[531,1009,559],{"class":558},[531,1011,562],{"class":541},[531,1013,1014],{"class":533,"line":612},[531,1015,664],{"emptyLinePlaceholder":663},[531,1017,1018,1021,1024,1026,1029,1032,1034,1036,1038,1040,1042,1044,1046],{"class":533,"line":660},[531,1019,1020],{"class":537},"await",[531,1022,1023],{"class":545}," app",[531,1025,705],{"class":541},[531,1027,1028],{"class":676},"register",[531,1030,1031],{"class":545},"(evlog",[531,1033,727],{"class":541},[531,1035,542],{"class":541},[531,1037,922],{"class":716},[531,1039,840],{"class":541},[531,1041,546],{"class":676},[531,1043,929],{"class":545},[531,1045,738],{"class":541},[531,1047,741],{"class":545},[520,1049,1050],{"className":522,"code":875,"filename":256,"language":525,"meta":526,"style":526},[528,1051,1052,1070,1074],{"__ignoreMap":526},[531,1053,1054,1056,1058,1060,1062,1064,1066,1068],{"class":533,"line":534},[531,1055,538],{"class":537},[531,1057,542],{"class":541},[531,1059,546],{"class":545},[531,1061,549],{"class":541},[531,1063,552],{"class":537},[531,1065,555],{"class":541},[531,1067,559],{"class":558},[531,1069,562],{"class":541},[531,1071,1072],{"class":533,"line":612},[531,1073,664],{"emptyLinePlaceholder":663},[531,1075,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100],{"class":533,"line":660},[531,1077,904],{"class":545},[531,1079,705],{"class":541},[531,1081,909],{"class":676},[531,1083,680],{"class":545},[531,1085,914],{"class":676},[531,1087,680],{"class":545},[531,1089,919],{"class":541},[531,1091,922],{"class":716},[531,1093,840],{"class":541},[531,1095,546],{"class":676},[531,1097,929],{"class":545},[531,1099,738],{"class":541},[531,1101,934],{"class":545},[520,1103,1105],{"className":522,"code":1104,"filename":236,"language":525,"meta":526,"style":526},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\nEvlogModule.forRoot({ drain: createAxiomDrain() })\n",[528,1106,1107,1125,1129],{"__ignoreMap":526},[531,1108,1109,1111,1113,1115,1117,1119,1121,1123],{"class":533,"line":534},[531,1110,538],{"class":537},[531,1112,542],{"class":541},[531,1114,546],{"class":545},[531,1116,549],{"class":541},[531,1118,552],{"class":537},[531,1120,555],{"class":541},[531,1122,559],{"class":558},[531,1124,562],{"class":541},[531,1126,1127],{"class":533,"line":612},[531,1128,664],{"emptyLinePlaceholder":663},[531,1130,1131,1134,1136,1139,1141,1143,1145,1147,1149,1151,1153],{"class":533,"line":660},[531,1132,1133],{"class":545},"EvlogModule",[531,1135,705],{"class":541},[531,1137,1138],{"class":676},"forRoot",[531,1140,680],{"class":545},[531,1142,919],{"class":541},[531,1144,922],{"class":716},[531,1146,840],{"class":541},[531,1148,546],{"class":676},[531,1150,929],{"class":545},[531,1152,738],{"class":541},[531,1154,741],{"class":545},[520,1156,1158],{"className":522,"code":1157,"filename":271,"language":525,"meta":526,"style":526},"import { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({ drain: createAxiomDrain() })\n",[528,1159,1160,1178,1182],{"__ignoreMap":526},[531,1161,1162,1164,1166,1168,1170,1172,1174,1176],{"class":533,"line":534},[531,1163,538],{"class":537},[531,1165,542],{"class":541},[531,1167,546],{"class":545},[531,1169,549],{"class":541},[531,1171,552],{"class":537},[531,1173,555],{"class":541},[531,1175,559],{"class":558},[531,1177,562],{"class":541},[531,1179,1180],{"class":533,"line":612},[531,1181,664],{"emptyLinePlaceholder":663},[531,1183,1184,1187,1189,1191,1193,1195,1197,1199,1201],{"class":533,"line":660},[531,1185,1186],{"class":676},"initLogger",[531,1188,680],{"class":545},[531,1190,919],{"class":541},[531,1192,922],{"class":716},[531,1194,840],{"class":541},[531,1196,546],{"class":676},[531,1198,929],{"class":545},[531,1200,738],{"class":541},[531,1202,741],{"class":545},[461,1204,1205],{},"That's it! Your logs will now appear in Axiom.",[513,1207,170],{"id":1208},"configuration",[461,1210,1211],{},"The adapter reads configuration from multiple sources (highest priority first):",[479,1213,1214,1224,1234],{},[482,1215,1216,1220,1221],{},[1217,1218,1219],"strong",{},"Overrides"," passed to ",[528,1222,1223],{},"createAxiomDrain()",[482,1225,1226,1229,1230,1233],{},[1217,1227,1228],{},"Runtime config"," at ",[528,1231,1232],{},"runtimeConfig.axiom"," (Nuxt\u002FNitro only)",[482,1235,1236,1239,1240,1243,1244,689],{},[1217,1237,1238],{},"Environment variables"," (",[528,1241,1242],{},"AXIOM_*"," or ",[528,1245,1246],{},"NUXT_AXIOM_*",[567,1248,1250],{"id":1249},"environment-variables","Environment Variables",[1252,1253,1254,1270],"table",{},[1255,1256,1257],"thead",{},[1258,1259,1260,1264,1267],"tr",{},[1261,1262,1263],"th",{},"Variable",[1261,1265,1266],{},"Nuxt alias",[1261,1268,1269],{},"Description",[1271,1272,1273,1288,1302,1317,1332],"tbody",{},[1258,1274,1275,1280,1285],{},[1276,1277,1278],"td",{},[528,1279,603],{},[1276,1281,1282],{},[528,1283,1284],{},"NUXT_AXIOM_TOKEN",[1276,1286,1287],{},"API token with ingest permissions",[1258,1289,1290,1294,1299],{},[1276,1291,1292],{},[528,1293,615],{},[1276,1295,1296],{},[528,1297,1298],{},"NUXT_AXIOM_DATASET",[1276,1300,1301],{},"Dataset name to ingest logs into",[1258,1303,1304,1309,1314],{},[1276,1305,1306],{},[528,1307,1308],{},"AXIOM_ORG_ID",[1276,1310,1311],{},[528,1312,1313],{},"NUXT_AXIOM_ORG_ID",[1276,1315,1316],{},"Organization ID (required for Personal Access Tokens)",[1258,1318,1319,1324,1329],{},[1276,1320,1321],{},[528,1322,1323],{},"AXIOM_EDGE_URL",[1276,1325,1326],{},[528,1327,1328],{},"NUXT_AXIOM_EDGE_URL",[1276,1330,1331],{},"Edge base URL for ingest\u002Fquery (for edge deployments)",[1258,1333,1334,1339,1344],{},[1276,1335,1336],{},[528,1337,1338],{},"AXIOM_URL",[1276,1340,1341],{},[528,1342,1343],{},"NUXT_AXIOM_URL",[1276,1345,1346],{},"API base URL (legacy\u002Fdefault ingest endpoint)",[1348,1349,1351,1352,1355,1356,1359],"callout",{"color":1350,"icon":13},"info","In Nuxt\u002FNitro, use the ",[528,1353,1354],{},"NUXT_"," prefix so values are available via ",[528,1357,1358],{},"useRuntimeConfig()",". In all other frameworks, use the unprefixed variables.",[567,1361,1363],{"id":1362},"runtime-config-nuxt-only","Runtime Config (Nuxt only)",[461,1365,1366,1367,1370],{},"Configure via ",[528,1368,1369],{},"nuxt.config.ts"," for type-safe configuration:",[520,1372,1374],{"className":522,"code":1373,"filename":1369,"language":525,"meta":526,"style":526},"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",[528,1375,1376,1389,1398,1407,1422,1436,1441,1446],{"__ignoreMap":526},[531,1377,1378,1380,1382,1385,1387],{"class":533,"line":534},[531,1379,670],{"class":537},[531,1381,673],{"class":537},[531,1383,1384],{"class":676}," defineNuxtConfig",[531,1386,680],{"class":545},[531,1388,832],{"class":541},[531,1390,1391,1394,1396],{"class":533,"line":612},[531,1392,1393],{"class":716},"  runtimeConfig",[531,1395,840],{"class":541},[531,1397,696],{"class":541},[531,1399,1400,1403,1405],{"class":533,"line":660},[531,1401,1402],{"class":716},"    axiom",[531,1404,840],{"class":541},[531,1406,696],{"class":541},[531,1408,1409,1412,1414,1417,1419],{"class":533,"line":667},[531,1410,1411],{"class":716},"      token",[531,1413,840],{"class":541},[531,1415,1416],{"class":541}," ''",[531,1418,727],{"class":541},[531,1420,1421],{"class":638}," \u002F\u002F Set via NUXT_AXIOM_TOKEN\n",[531,1423,1424,1427,1429,1431,1433],{"class":533,"line":699},[531,1425,1426],{"class":716},"      dataset",[531,1428,840],{"class":541},[531,1430,1416],{"class":541},[531,1432,727],{"class":541},[531,1434,1435],{"class":638}," \u002F\u002F Set via NUXT_AXIOM_DATASET\n",[531,1437,1438],{"class":533,"line":735},[531,1439,1440],{"class":541},"    },\n",[531,1442,1443],{"class":533,"line":853},[531,1444,1445],{"class":541},"  },\n",[531,1447,1448,1450],{"class":533,"line":868},[531,1449,738],{"class":541},[531,1451,741],{"class":545},[567,1453,1455],{"id":1454},"override-options","Override Options",[461,1457,1458],{},"Pass options directly to override any configuration:",[520,1460,1463],{"className":522,"code":1461,"filename":1462,"language":525,"meta":526,"style":526},"const drain = createAxiomDrain({\n  dataset: 'production-logs',\n  timeout: 10000,\n})\n","server\u002Fplugins\u002Fevlog-drain.ts",[528,1464,1465,1481,1497,1510],{"__ignoreMap":526},[531,1466,1467,1470,1473,1475,1477,1479],{"class":533,"line":534},[531,1468,1469],{"class":692},"const",[531,1471,1472],{"class":545}," drain ",[531,1474,606],{"class":541},[531,1476,546],{"class":676},[531,1478,680],{"class":545},[531,1480,832],{"class":541},[531,1482,1483,1486,1488,1490,1493,1495],{"class":533,"line":612},[531,1484,1485],{"class":716},"  dataset",[531,1487,840],{"class":541},[531,1489,555],{"class":541},[531,1491,1492],{"class":558},"production-logs",[531,1494,719],{"class":541},[531,1496,850],{"class":541},[531,1498,1499,1502,1504,1508],{"class":533,"line":660},[531,1500,1501],{"class":716},"  timeout",[531,1503,840],{"class":541},[531,1505,1507],{"class":1506},"sbssI"," 10000",[531,1509,850],{"class":541},[531,1511,1512,1514],{"class":533,"line":667},[531,1513,738],{"class":541},[531,1515,741],{"class":545},[567,1517,1519],{"id":1518},"full-configuration-reference","Full Configuration Reference",[1252,1521,1522,1537],{},[1255,1523,1524],{},[1258,1525,1526,1529,1532,1535],{},[1261,1527,1528],{},"Option",[1261,1530,1531],{},"Type",[1261,1533,1534],{},"Default",[1261,1536,1269],{},[1271,1538,1539,1557,1573,1589,1612,1636],{},[1258,1540,1541,1546,1551,1554],{},[1276,1542,1543],{},[528,1544,1545],{},"token",[1276,1547,1548],{},[528,1549,1550],{},"string",[1276,1552,1553],{},"-",[1276,1555,1556],{},"API token (required)",[1258,1558,1559,1564,1568,1570],{},[1276,1560,1561],{},[528,1562,1563],{},"dataset",[1276,1565,1566],{},[528,1567,1550],{},[1276,1569,1553],{},[1276,1571,1572],{},"Dataset name (required)",[1258,1574,1575,1580,1584,1586],{},[1276,1576,1577],{},[528,1578,1579],{},"orgId",[1276,1581,1582],{},[528,1583,1550],{},[1276,1585,1553],{},[1276,1587,1588],{},"Organization ID (for PAT tokens)",[1258,1590,1591,1596,1600,1602],{},[1276,1592,1593],{},[528,1594,1595],{},"edgeUrl",[1276,1597,1598],{},[528,1599,1550],{},[1276,1601,1553],{},[1276,1603,1604,1605,1608,1609],{},"Edge URL for ingest. Uses ",[528,1606,1607],{},"\u002Fv1\u002Fingest\u002F{dataset}"," when no path is provided; custom paths are used as-is (trailing slash trimmed). Mutually exclusive with ",[528,1610,1611],{},"baseUrl",[1258,1613,1614,1618,1622,1627],{},[1276,1615,1616],{},[528,1617,1611],{},[1276,1619,1620],{},[528,1621,1550],{},[1276,1623,1624],{},[528,1625,1626],{},"https:\u002F\u002Fapi.axiom.co",[1276,1628,1629,1630,1633,1634],{},"API base URL (",[528,1631,1632],{},"\u002Fv1\u002Fdatasets\u002F{dataset}\u002Fingest","), mutually exclusive with ",[528,1635,1595],{},[1258,1637,1638,1643,1648,1653],{},[1276,1639,1640],{},[528,1641,1642],{},"timeout",[1276,1644,1645],{},[528,1646,1647],{},"number",[1276,1649,1650],{},[528,1651,1652],{},"5000",[1276,1654,1655],{},"Request timeout in milliseconds",[513,1657,1659],{"id":1658},"querying-logs-in-axiom","Querying Logs in Axiom",[461,1661,1662],{},"evlog sends structured wide events that are perfect for Axiom's APL query language:",[520,1664,1669],{"className":1665,"code":1666,"filename":1667,"language":1668,"meta":526,"style":526},"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","Axiom APL queries","apl",[528,1670,1671,1679,1694,1708,1730,1734,1741,1753,1772,1785,1793,1798,1806,1819,1843],{"__ignoreMap":526},[531,1672,1673,1676],{"class":533,"line":534},[531,1674,1675],{"class":541},"\u002F\u002F",[531,1677,1678],{"class":545}," Find slow requests\n",[531,1680,1681,1684,1686,1689,1691],{"class":533,"line":612},[531,1682,1683],{"class":541},"[",[531,1685,719],{"class":541},[531,1687,1688],{"class":558},"your-dataset",[531,1690,719],{"class":541},[531,1692,1693],{"class":541},"]\n",[531,1695,1696,1699,1702,1705],{"class":533,"line":660},[531,1697,1698],{"class":541},"|",[531,1700,1701],{"class":545}," where duration ",[531,1703,1704],{"class":541},">",[531,1706,1707],{"class":1506}," 1000\n",[531,1709,1710,1712,1715,1717,1720,1722,1725,1727],{"class":533,"line":667},[531,1711,1698],{"class":541},[531,1713,1714],{"class":545}," project timestamp",[531,1716,727],{"class":541},[531,1718,1719],{"class":545}," path",[531,1721,727],{"class":541},[531,1723,1724],{"class":545}," duration",[531,1726,727],{"class":541},[531,1728,1729],{"class":545}," status\n",[531,1731,1732],{"class":533,"line":699},[531,1733,664],{"emptyLinePlaceholder":663},[531,1735,1736,1738],{"class":533,"line":735},[531,1737,1675],{"class":541},[531,1739,1740],{"class":545}," Error rate by endpoint\n",[531,1742,1743,1745,1747,1749,1751],{"class":533,"line":853},[531,1744,1683],{"class":541},[531,1746,719],{"class":541},[531,1748,1688],{"class":558},[531,1750,719],{"class":541},[531,1752,1693],{"class":541},[531,1754,1755,1757,1760,1763,1766,1769],{"class":533,"line":868},[531,1756,1698],{"class":541},[531,1758,1759],{"class":545}," where level ",[531,1761,1762],{"class":541},"==",[531,1764,1765],{"class":541}," \"",[531,1767,1768],{"class":558},"error",[531,1770,1771],{"class":541},"\"\n",[531,1773,1775,1777,1780,1782],{"class":533,"line":1774},9,[531,1776,1698],{"class":541},[531,1778,1779],{"class":545}," summarize count",[531,1781,863],{"class":541},[531,1783,1784],{"class":545}," by path\n",[531,1786,1788,1790],{"class":533,"line":1787},10,[531,1789,1698],{"class":541},[531,1791,1792],{"class":545}," order by count_ desc\n",[531,1794,1796],{"class":533,"line":1795},11,[531,1797,664],{"emptyLinePlaceholder":663},[531,1799,1801,1803],{"class":533,"line":1800},12,[531,1802,1675],{"class":541},[531,1804,1805],{"class":545}," Request volume over time\n",[531,1807,1809,1811,1813,1815,1817],{"class":533,"line":1808},13,[531,1810,1683],{"class":541},[531,1812,719],{"class":541},[531,1814,1688],{"class":558},[531,1816,719],{"class":541},[531,1818,1693],{"class":541},[531,1820,1822,1824,1826,1828,1831,1833,1836,1838,1841],{"class":533,"line":1821},14,[531,1823,1698],{"class":541},[531,1825,1779],{"class":545},[531,1827,863],{"class":541},[531,1829,1830],{"class":545}," by bin",[531,1832,680],{"class":541},[531,1834,1835],{"class":545},"timestamp",[531,1837,727],{"class":541},[531,1839,1840],{"class":1506}," 1h",[531,1842,741],{"class":541},[531,1844,1846,1848],{"class":533,"line":1845},15,[531,1847,1698],{"class":541},[531,1849,1850],{"class":545}," render timechart\n",[513,1852,1854],{"id":1853},"troubleshooting","Troubleshooting",[567,1856,1858],{"id":1857},"missing-dataset-or-token-error","Missing dataset or token error",[520,1860,1866],{"className":1861,"code":1863,"filename":1864,"language":1865,"meta":526},[1862],"language-text","[evlog\u002Faxiom] Missing dataset or token. Set AXIOM_DATASET and AXIOM_TOKEN\n","Console","text",[528,1867,1863],{"__ignoreMap":526},[461,1869,1870],{},"Make sure your environment variables are set and the server was restarted after adding them.",[567,1872,1874],{"id":1873},"_401-unauthorized","401 Unauthorized",[461,1876,1877,1878,1881],{},"Your token may be invalid or expired. Generate a new token in the Axiom dashboard with ",[1217,1879,1880],{},"Ingest"," permissions.",[567,1883,1885],{"id":1884},"_403-forbidden-with-pat-tokens","403 Forbidden with PAT tokens",[461,1887,1888],{},"Personal Access Tokens require an organization ID:",[520,1890,1892],{"className":593,"code":1891,"filename":595,"language":596,"meta":526,"style":526},"AXIOM_ORG_ID=your-org-id\n",[528,1893,1894],{"__ignoreMap":526},[531,1895,1896,1898,1900],{"class":533,"line":534},[531,1897,1308],{"class":545},[531,1899,606],{"class":541},[531,1901,1902],{"class":558},"your-org-id\n",[513,1904,1906],{"id":1905},"direct-api-usage","Direct API Usage",[461,1908,1909],{},"For advanced use cases, you can use the lower-level functions:",[520,1911,1914],{"className":522,"code":1912,"filename":1913,"language":525,"meta":526,"style":526},"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",[528,1915,1916,1940,1944,1949,1962,1978,1993,1999,2003,2008,2021,2035,2049],{"__ignoreMap":526},[531,1917,1918,1920,1922,1925,1927,1930,1932,1934,1936,1938],{"class":533,"line":534},[531,1919,538],{"class":537},[531,1921,542],{"class":541},[531,1923,1924],{"class":545}," sendToAxiom",[531,1926,727],{"class":541},[531,1928,1929],{"class":545}," sendBatchToAxiom",[531,1931,549],{"class":541},[531,1933,552],{"class":537},[531,1935,555],{"class":541},[531,1937,559],{"class":558},[531,1939,562],{"class":541},[531,1941,1942],{"class":533,"line":612},[531,1943,664],{"emptyLinePlaceholder":663},[531,1945,1946],{"class":533,"line":660},[531,1947,1948],{"class":638},"\u002F\u002F Send a single event\n",[531,1950,1951,1953,1955,1958,1960],{"class":533,"line":667},[531,1952,1020],{"class":537},[531,1954,1924],{"class":676},[531,1956,1957],{"class":545},"(event",[531,1959,727],{"class":541},[531,1961,696],{"class":541},[531,1963,1964,1967,1969,1971,1974,1976],{"class":533,"line":699},[531,1965,1966],{"class":716},"  token",[531,1968,840],{"class":541},[531,1970,555],{"class":541},[531,1972,1973],{"class":558},"xaat-xxx",[531,1975,719],{"class":541},[531,1977,850],{"class":541},[531,1979,1980,1982,1984,1986,1989,1991],{"class":533,"line":735},[531,1981,1485],{"class":716},[531,1983,840],{"class":541},[531,1985,555],{"class":541},[531,1987,1988],{"class":558},"logs",[531,1990,719],{"class":541},[531,1992,850],{"class":541},[531,1994,1995,1997],{"class":533,"line":853},[531,1996,738],{"class":541},[531,1998,741],{"class":545},[531,2000,2001],{"class":533,"line":868},[531,2002,664],{"emptyLinePlaceholder":663},[531,2004,2005],{"class":533,"line":1774},[531,2006,2007],{"class":638},"\u002F\u002F Send multiple events in one request\n",[531,2009,2010,2012,2014,2017,2019],{"class":533,"line":1787},[531,2011,1020],{"class":537},[531,2013,1929],{"class":676},[531,2015,2016],{"class":545},"(events",[531,2018,727],{"class":541},[531,2020,696],{"class":541},[531,2022,2023,2025,2027,2029,2031,2033],{"class":533,"line":1795},[531,2024,1966],{"class":716},[531,2026,840],{"class":541},[531,2028,555],{"class":541},[531,2030,1973],{"class":558},[531,2032,719],{"class":541},[531,2034,850],{"class":541},[531,2036,2037,2039,2041,2043,2045,2047],{"class":533,"line":1800},[531,2038,1485],{"class":716},[531,2040,840],{"class":541},[531,2042,555],{"class":541},[531,2044,1988],{"class":558},[531,2046,719],{"class":541},[531,2048,850],{"class":541},[531,2050,2051,2053],{"class":533,"line":1808},[531,2052,738],{"class":541},[531,2054,741],{"class":545},[513,2056,2058],{"id":2057},"next-steps","Next Steps",[2060,2061,2062,2068,2074,2079],"ul",{},[482,2063,2064,2067],{},[464,2065,2066],{"href":372},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[482,2069,2070,2073],{},[464,2071,2072],{"href":377},"PostHog Adapter"," - Send logs to PostHog",[482,2075,2076,2078],{},[464,2077,430],{"href":431}," - Build your own adapter",[482,2080,2081,2083],{},[464,2082,185],{"href":186}," - Security and production tips",[2085,2086,2087],"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":526,"searchDepth":612,"depth":612,"links":2089},[2090,2091,2096,2102,2103,2108,2109],{"id":515,"depth":612,"text":15},{"id":565,"depth":612,"text":20,"children":2092},[2093,2094,2095],{"id":569,"depth":660,"text":570},{"id":589,"depth":660,"text":590},{"id":623,"depth":660,"text":624},{"id":1208,"depth":612,"text":170,"children":2097},[2098,2099,2100,2101],{"id":1249,"depth":660,"text":1250},{"id":1362,"depth":660,"text":1363},{"id":1454,"depth":660,"text":1455},{"id":1518,"depth":660,"text":1519},{"id":1658,"depth":612,"text":1659},{"id":1853,"depth":612,"text":1854,"children":2104},[2105,2106,2107],{"id":1857,"depth":660,"text":1858},{"id":1873,"depth":660,"text":1874},{"id":1884,"depth":660,"text":1885},{"id":1905,"depth":612,"text":1906},{"id":2057,"depth":612,"text":2058},"Send wide events to Axiom for powerful querying, dashboards, and alerting. Zero-config setup with environment variables and automatic batching.","md",[2113,2119],{"label":2114,"icon":2115,"to":578,"target":2116,"color":2117,"variant":2118},"Axiom Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":2066,"icon":374,"to":372,"color":2117,"variant":2118},{},{"title":366,"icon":369},{"title":456,"description":2110},"uy2JddsdUskmsHx18d7RL1HDNf98hfADJn62hOv14Ac",[2125,2127],{"title":41,"path":358,"stem":359,"description":2126,"icon":44,"children":-1},"Send your logs to external services with evlog adapters. Built-in support for popular observability platforms and custom destinations.",{"title":371,"path":372,"stem":373,"description":2128,"icon":374,"children":-1},"Send logs via OpenTelemetry Protocol (OTLP) to Grafana, Datadog, Honeycomb, and any compatible backend. Supports gRPC and HTTP transports.",1778340166675]