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