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