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