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