[{"data":1,"prerenderedAt":1187},["ShallowReactive",2],{"navigation_docs":3,"-adapters-axiom":122,"-adapters-axiom-surround":1182},[4,30,55,105],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","/getting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","/getting-started/agent-skills","1.getting-started/4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Core Concepts","/core-concepts","2.core-concepts",[35,40,45,50],{"title":36,"path":37,"stem":38,"icon":39},"Wide Events","/core-concepts/wide-events","2.core-concepts/1.wide-events","i-lucide-layers",{"title":41,"path":42,"stem":43,"icon":44},"Structured Errors","/core-concepts/structured-errors","2.core-concepts/2.structured-errors","i-lucide-shield-alert",{"title":46,"path":47,"stem":48,"icon":49},"Best Practices","/core-concepts/best-practices","2.core-concepts/3.best-practices","i-lucide-shield-check",{"title":51,"path":52,"stem":53,"icon":54},"Typed Fields","/core-concepts/typed-fields","2.core-concepts/4.typed-fields","i-simple-icons-typescript",{"title":56,"path":57,"stem":58,"children":59,"page":29},"Adapters","/adapters","3.adapters",[60,65,70,75,80,85,90,95,100],{"title":61,"path":62,"stem":63,"icon":64},"Overview","/adapters/overview","3.adapters/1.overview","i-custom-plug",{"title":66,"path":67,"stem":68,"icon":69},"Axiom","/adapters/axiom","3.adapters/2.axiom","i-custom-axiom",{"title":71,"path":72,"stem":73,"icon":74},"OTLP","/adapters/otlp","3.adapters/3.otlp","i-simple-icons-opentelemetry",{"title":76,"path":77,"stem":78,"icon":79},"PostHog","/adapters/posthog","3.adapters/4.posthog","i-simple-icons-posthog",{"title":81,"path":82,"stem":83,"icon":84},"Sentry","/adapters/sentry","3.adapters/5.sentry","i-simple-icons-sentry",{"title":86,"path":87,"stem":88,"icon":89},"Better Stack","/adapters/better-stack","3.adapters/6.better-stack","i-simple-icons-betterstack",{"title":91,"path":92,"stem":93,"icon":94},"Custom Adapters","/adapters/custom","3.adapters/7.custom","i-lucide-code",{"title":96,"path":97,"stem":98,"icon":99},"Pipeline","/adapters/pipeline","3.adapters/8.pipeline","i-lucide-workflow",{"title":101,"path":102,"stem":103,"icon":104},"Browser","/adapters/browser","3.adapters/9.browser","i-lucide-globe",{"title":106,"path":107,"stem":108,"children":109,"page":29},"Enrichers","/enrichers","4.enrichers",[110,113,118],{"title":61,"path":111,"stem":112,"icon":28},"/enrichers/overview","4.enrichers/1.overview",{"title":114,"path":115,"stem":116,"icon":117},"Built-in","/enrichers/built-in","4.enrichers/2.built-in","i-lucide-puzzle",{"title":119,"path":120,"stem":121,"icon":94},"Custom","/enrichers/custom","4.enrichers/3.custom",{"id":123,"title":124,"body":125,"description":1168,"extension":1169,"links":1170,"meta":1178,"navigation":1179,"path":67,"seo":1180,"stem":68,"__hash__":1181},"docs/3.adapters/2.axiom.md","Axiom Adapter",{"type":126,"value":127,"toc":1146},"minimark",[128,138,142,145,189,192,197,215,219,249,253,359,362,366,369,410,414,462,477,481,488,575,579,582,704,708,816,820,823,908,912,916,924,927,931,938,942,945,959,963,966,1113,1117,1142],[129,130,131,137],"p",{},[132,133,66],"a",{"href":134,"rel":135},"https://axiom.co",[136],"nofollow"," is a cloud-native logging platform with powerful querying capabilities. The evlog Axiom adapter sends your wide events directly to Axiom datasets.",[139,140,15],"h2",{"id":141},"installation",[129,143,144],{},"The Axiom adapter comes bundled with evlog:",[146,147,153],"pre",{"className":148,"code":149,"filename":150,"language":151,"meta":152,"style":152},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createAxiomDrain } from 'evlog/axiom'\n","server/plugins/evlog-drain.ts","typescript","",[154,155,156],"code",{"__ignoreMap":152},[157,158,161,165,169,173,176,179,182,186],"span",{"class":159,"line":160},"line",1,[157,162,164],{"class":163},"s7zQu","import",[157,166,168],{"class":167},"sMK4o"," {",[157,170,172],{"class":171},"sTEyZ"," createAxiomDrain",[157,174,175],{"class":167}," }",[157,177,178],{"class":163}," from",[157,180,181],{"class":167}," '",[157,183,185],{"class":184},"sfazB","evlog/axiom",[157,187,188],{"class":167},"'\n",[139,190,20],{"id":191},"quick-start",[193,194,196],"h3",{"id":195},"_1-get-your-axiom-credentials","1. Get your Axiom credentials",[198,199,200,209,212],"ol",{},[201,202,203,204],"li",{},"Create an ",[132,205,208],{"href":206,"rel":207},"https://app.axiom.co",[136],"Axiom account",[201,210,211],{},"Create a dataset for your logs",[201,213,214],{},"Generate an API token with ingest permissions",[193,216,218],{"id":217},"_2-set-environment-variables","2. Set environment variables",[146,220,225],{"className":221,"code":222,"filename":223,"language":224,"meta":152,"style":152},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","NUXT_AXIOM_TOKEN=xaat-your-token-here\nNUXT_AXIOM_DATASET=your-dataset-name\n",".env","bash",[154,226,227,238],{"__ignoreMap":152},[157,228,229,232,235],{"class":159,"line":160},[157,230,231],{"class":171},"NUXT_AXIOM_TOKEN",[157,233,234],{"class":167},"=",[157,236,237],{"class":184},"xaat-your-token-here\n",[157,239,241,244,246],{"class":159,"line":240},2,[157,242,243],{"class":171},"NUXT_AXIOM_DATASET",[157,245,234],{"class":167},[157,247,248],{"class":184},"your-dataset-name\n",[193,250,252],{"id":251},"_3-create-the-drain-plugin","3. Create the drain plugin",[146,254,256],{"className":148,"code":255,"filename":150,"language":151,"meta":152,"style":152},"import { createAxiomDrain } from 'evlog/axiom'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createAxiomDrain())\n})\n",[154,257,258,276,282,314,350],{"__ignoreMap":152},[157,259,260,262,264,266,268,270,272,274],{"class":159,"line":160},[157,261,164],{"class":163},[157,263,168],{"class":167},[157,265,172],{"class":171},[157,267,175],{"class":167},[157,269,178],{"class":163},[157,271,181],{"class":167},[157,273,185],{"class":184},[157,275,188],{"class":167},[157,277,278],{"class":159,"line":240},[157,279,281],{"emptyLinePlaceholder":280},true,"\n",[157,283,285,288,291,295,298,300,304,307,311],{"class":159,"line":284},3,[157,286,287],{"class":163},"export",[157,289,290],{"class":163}," default",[157,292,294],{"class":293},"s2Zo4"," defineNitroPlugin",[157,296,297],{"class":171},"(",[157,299,297],{"class":167},[157,301,303],{"class":302},"sHdIc","nitroApp",[157,305,306],{"class":167},")",[157,308,310],{"class":309},"spNyl"," =>",[157,312,313],{"class":167}," {\n",[157,315,317,320,323,326,328,331,334,337,340,342,345,347],{"class":159,"line":316},4,[157,318,319],{"class":171},"  nitroApp",[157,321,322],{"class":167},".",[157,324,325],{"class":171},"hooks",[157,327,322],{"class":167},[157,329,330],{"class":293},"hook",[157,332,297],{"class":333},"swJcz",[157,335,336],{"class":167},"'",[157,338,339],{"class":184},"evlog:drain",[157,341,336],{"class":167},[157,343,344],{"class":167},",",[157,346,172],{"class":293},[157,348,349],{"class":333},"())\n",[157,351,353,356],{"class":159,"line":352},5,[157,354,355],{"class":167},"}",[157,357,358],{"class":171},")\n",[129,360,361],{},"That's it! Your logs will now appear in Axiom.",[139,363,365],{"id":364},"configuration","Configuration",[129,367,368],{},"The adapter reads configuration from multiple sources (highest priority first):",[198,370,371,381,390,397],{},[201,372,373,377,378],{},[374,375,376],"strong",{},"Overrides"," passed to ",[154,379,380],{},"createAxiomDrain()",[201,382,383,386,387],{},[374,384,385],{},"Runtime config"," at ",[154,388,389],{},"runtimeConfig.evlog.axiom",[201,391,392,386,394],{},[374,393,385],{},[154,395,396],{},"runtimeConfig.axiom",[201,398,399,402,403,406,407,306],{},[374,400,401],{},"Environment variables"," (",[154,404,405],{},"NUXT_AXIOM_*"," or ",[154,408,409],{},"AXIOM_*",[193,411,413],{"id":412},"environment-variables","Environment Variables",[415,416,417,430],"table",{},[418,419,420],"thead",{},[421,422,423,427],"tr",{},[424,425,426],"th",{},"Variable",[424,428,429],{},"Description",[431,432,433,443,452],"tbody",{},[421,434,435,440],{},[436,437,438],"td",{},[154,439,231],{},[436,441,442],{},"API token with ingest permissions",[421,444,445,449],{},[436,446,447],{},[154,448,243],{},[436,450,451],{},"Dataset name to ingest logs into",[421,453,454,459],{},[436,455,456],{},[154,457,458],{},"NUXT_AXIOM_ORG_ID",[436,460,461],{},"Organization ID (required for Personal Access Tokens)",[129,463,464,465,468,469,472,473,476],{},"You can also use ",[154,466,467],{},"AXIOM_TOKEN",", ",[154,470,471],{},"AXIOM_DATASET",", and ",[154,474,475],{},"AXIOM_ORG_ID"," as fallbacks.",[193,478,480],{"id":479},"runtime-config","Runtime Config",[129,482,483,484,487],{},"Configure via ",[154,485,486],{},"nuxt.config.ts"," for type-safe configuration:",[146,489,491],{"className":148,"code":490,"filename":486,"language":151,"meta":152,"style":152},"export default defineNuxtConfig({\n  runtimeConfig: {\n    axiom: {\n      token: '', // Set via NUXT_AXIOM_TOKEN\n      dataset: '', // Set via NUXT_AXIOM_DATASET\n    },\n  },\n})\n",[154,492,493,507,517,526,542,556,562,568],{"__ignoreMap":152},[157,494,495,497,499,502,504],{"class":159,"line":160},[157,496,287],{"class":163},[157,498,290],{"class":163},[157,500,501],{"class":293}," defineNuxtConfig",[157,503,297],{"class":171},[157,505,506],{"class":167},"{\n",[157,508,509,512,515],{"class":159,"line":240},[157,510,511],{"class":333},"  runtimeConfig",[157,513,514],{"class":167},":",[157,516,313],{"class":167},[157,518,519,522,524],{"class":159,"line":284},[157,520,521],{"class":333},"    axiom",[157,523,514],{"class":167},[157,525,313],{"class":167},[157,527,528,531,533,536,538],{"class":159,"line":316},[157,529,530],{"class":333},"      token",[157,532,514],{"class":167},[157,534,535],{"class":167}," ''",[157,537,344],{"class":167},[157,539,541],{"class":540},"sHwdD"," // Set via NUXT_AXIOM_TOKEN\n",[157,543,544,547,549,551,553],{"class":159,"line":352},[157,545,546],{"class":333},"      dataset",[157,548,514],{"class":167},[157,550,535],{"class":167},[157,552,344],{"class":167},[157,554,555],{"class":540}," // Set via NUXT_AXIOM_DATASET\n",[157,557,559],{"class":159,"line":558},6,[157,560,561],{"class":167},"    },\n",[157,563,565],{"class":159,"line":564},7,[157,566,567],{"class":167},"  },\n",[157,569,571,573],{"class":159,"line":570},8,[157,572,355],{"class":167},[157,574,358],{"class":171},[193,576,578],{"id":577},"override-options","Override Options",[129,580,581],{},"Pass options directly to override any configuration:",[146,583,585],{"className":148,"code":584,"filename":150,"language":151,"meta":152,"style":152},"import { createAxiomDrain } from 'evlog/axiom'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createAxiomDrain({\n    dataset: 'production-logs',\n    timeout: 10000, // 10 seconds\n  }))\n})\n",[154,586,587,605,609,629,657,674,690,698],{"__ignoreMap":152},[157,588,589,591,593,595,597,599,601,603],{"class":159,"line":160},[157,590,164],{"class":163},[157,592,168],{"class":167},[157,594,172],{"class":171},[157,596,175],{"class":167},[157,598,178],{"class":163},[157,600,181],{"class":167},[157,602,185],{"class":184},[157,604,188],{"class":167},[157,606,607],{"class":159,"line":240},[157,608,281],{"emptyLinePlaceholder":280},[157,610,611,613,615,617,619,621,623,625,627],{"class":159,"line":284},[157,612,287],{"class":163},[157,614,290],{"class":163},[157,616,294],{"class":293},[157,618,297],{"class":171},[157,620,297],{"class":167},[157,622,303],{"class":302},[157,624,306],{"class":167},[157,626,310],{"class":309},[157,628,313],{"class":167},[157,630,631,633,635,637,639,641,643,645,647,649,651,653,655],{"class":159,"line":316},[157,632,319],{"class":171},[157,634,322],{"class":167},[157,636,325],{"class":171},[157,638,322],{"class":167},[157,640,330],{"class":293},[157,642,297],{"class":333},[157,644,336],{"class":167},[157,646,339],{"class":184},[157,648,336],{"class":167},[157,650,344],{"class":167},[157,652,172],{"class":293},[157,654,297],{"class":333},[157,656,506],{"class":167},[157,658,659,662,664,666,669,671],{"class":159,"line":352},[157,660,661],{"class":333},"    dataset",[157,663,514],{"class":167},[157,665,181],{"class":167},[157,667,668],{"class":184},"production-logs",[157,670,336],{"class":167},[157,672,673],{"class":167},",\n",[157,675,676,679,681,685,687],{"class":159,"line":558},[157,677,678],{"class":333},"    timeout",[157,680,514],{"class":167},[157,682,684],{"class":683},"sbssI"," 10000",[157,686,344],{"class":167},[157,688,689],{"class":540}," // 10 seconds\n",[157,691,692,695],{"class":159,"line":564},[157,693,694],{"class":167},"  }",[157,696,697],{"class":333},"))\n",[157,699,700,702],{"class":159,"line":570},[157,701,355],{"class":167},[157,703,358],{"class":171},[193,705,707],{"id":706},"full-configuration-reference","Full Configuration Reference",[415,709,710,725],{},[418,711,712],{},[421,713,714,717,720,723],{},[424,715,716],{},"Option",[424,718,719],{},"Type",[424,721,722],{},"Default",[424,724,429],{},[431,726,727,745,761,777,796],{},[421,728,729,734,739,742],{},[436,730,731],{},[154,732,733],{},"token",[436,735,736],{},[154,737,738],{},"string",[436,740,741],{},"-",[436,743,744],{},"API token (required)",[421,746,747,752,756,758],{},[436,748,749],{},[154,750,751],{},"dataset",[436,753,754],{},[154,755,738],{},[436,757,741],{},[436,759,760],{},"Dataset name (required)",[421,762,763,768,772,774],{},[436,764,765],{},[154,766,767],{},"orgId",[436,769,770],{},[154,771,738],{},[436,773,741],{},[436,775,776],{},"Organization ID (for PAT tokens)",[421,778,779,784,788,793],{},[436,780,781],{},[154,782,783],{},"baseUrl",[436,785,786],{},[154,787,738],{},[436,789,790],{},[154,791,792],{},"https://api.axiom.co",[436,794,795],{},"Axiom API base URL",[421,797,798,803,808,813],{},[436,799,800],{},[154,801,802],{},"timeout",[436,804,805],{},[154,806,807],{},"number",[436,809,810],{},[154,811,812],{},"5000",[436,814,815],{},"Request timeout in milliseconds",[139,817,819],{"id":818},"querying-logs-in-axiom","Querying Logs in Axiom",[129,821,822],{},"evlog sends structured wide events that are perfect for Axiom's APL query language:",[146,824,828],{"className":825,"code":826,"language":827,"meta":152,"style":152},"language-apl shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","// Find slow requests\n['your-dataset']\n| where duration > 1000\n| project timestamp, path, duration, status\n\n// Error rate by endpoint\n['your-dataset']\n| where level == \"error\"\n| summarize count() by path\n| order by count_ desc\n\n// Request volume over time\n['your-dataset']\n| summarize count() by bin(timestamp, 1h)\n| render timechart\n","apl",[154,829,830,835,840,845,850,854,859,863,868,874,880,885,891,896,902],{"__ignoreMap":152},[157,831,832],{"class":159,"line":160},[157,833,834],{},"// Find slow requests\n",[157,836,837],{"class":159,"line":240},[157,838,839],{},"['your-dataset']\n",[157,841,842],{"class":159,"line":284},[157,843,844],{},"| where duration > 1000\n",[157,846,847],{"class":159,"line":316},[157,848,849],{},"| project timestamp, path, duration, status\n",[157,851,852],{"class":159,"line":352},[157,853,281],{"emptyLinePlaceholder":280},[157,855,856],{"class":159,"line":558},[157,857,858],{},"// Error rate by endpoint\n",[157,860,861],{"class":159,"line":564},[157,862,839],{},[157,864,865],{"class":159,"line":570},[157,866,867],{},"| where level == \"error\"\n",[157,869,871],{"class":159,"line":870},9,[157,872,873],{},"| summarize count() by path\n",[157,875,877],{"class":159,"line":876},10,[157,878,879],{},"| order by count_ desc\n",[157,881,883],{"class":159,"line":882},11,[157,884,281],{"emptyLinePlaceholder":280},[157,886,888],{"class":159,"line":887},12,[157,889,890],{},"// Request volume over time\n",[157,892,894],{"class":159,"line":893},13,[157,895,839],{},[157,897,899],{"class":159,"line":898},14,[157,900,901],{},"| summarize count() by bin(timestamp, 1h)\n",[157,903,905],{"class":159,"line":904},15,[157,906,907],{},"| render timechart\n",[139,909,911],{"id":910},"troubleshooting","Troubleshooting",[193,913,915],{"id":914},"missing-dataset-or-token-error","Missing dataset or token error",[146,917,922],{"className":918,"code":920,"language":921},[919],"language-text","[evlog/axiom] Missing dataset or token. Set NUXT_AXIOM_DATASET and NUXT_AXIOM_TOKEN\n","text",[154,923,920],{"__ignoreMap":152},[129,925,926],{},"Make sure your environment variables are set and the server was restarted after adding them.",[193,928,930],{"id":929},"_401-unauthorized","401 Unauthorized",[129,932,933,934,937],{},"Your token may be invalid or expired. Generate a new token in the Axiom dashboard with ",[374,935,936],{},"Ingest"," permissions.",[193,939,941],{"id":940},"_403-forbidden-with-pat-tokens","403 Forbidden with PAT tokens",[129,943,944],{},"Personal Access Tokens require an organization ID:",[146,946,948],{"className":221,"code":947,"filename":223,"language":224,"meta":152,"style":152},"NUXT_AXIOM_ORG_ID=your-org-id\n",[154,949,950],{"__ignoreMap":152},[157,951,952,954,956],{"class":159,"line":160},[157,953,458],{"class":171},[157,955,234],{"class":167},[157,957,958],{"class":184},"your-org-id\n",[139,960,962],{"id":961},"direct-api-usage","Direct API Usage",[129,964,965],{},"For advanced use cases, you can use the lower-level functions:",[146,967,970],{"className":148,"code":968,"filename":969,"language":151,"meta":152,"style":152},"import { sendToAxiom, sendBatchToAxiom } from 'evlog/axiom'\n\n// Send a single event\nawait sendToAxiom(event, {\n  token: 'xaat-xxx',\n  dataset: 'logs',\n})\n\n// Send multiple events in one request\nawait sendBatchToAxiom(events, {\n  token: 'xaat-xxx',\n  dataset: 'logs',\n})\n","server/utils/axiom.ts",[154,971,972,996,1000,1005,1019,1035,1051,1057,1061,1066,1079,1093,1107],{"__ignoreMap":152},[157,973,974,976,978,981,983,986,988,990,992,994],{"class":159,"line":160},[157,975,164],{"class":163},[157,977,168],{"class":167},[157,979,980],{"class":171}," sendToAxiom",[157,982,344],{"class":167},[157,984,985],{"class":171}," sendBatchToAxiom",[157,987,175],{"class":167},[157,989,178],{"class":163},[157,991,181],{"class":167},[157,993,185],{"class":184},[157,995,188],{"class":167},[157,997,998],{"class":159,"line":240},[157,999,281],{"emptyLinePlaceholder":280},[157,1001,1002],{"class":159,"line":284},[157,1003,1004],{"class":540},"// Send a single event\n",[157,1006,1007,1010,1012,1015,1017],{"class":159,"line":316},[157,1008,1009],{"class":163},"await",[157,1011,980],{"class":293},[157,1013,1014],{"class":171},"(event",[157,1016,344],{"class":167},[157,1018,313],{"class":167},[157,1020,1021,1024,1026,1028,1031,1033],{"class":159,"line":352},[157,1022,1023],{"class":333},"  token",[157,1025,514],{"class":167},[157,1027,181],{"class":167},[157,1029,1030],{"class":184},"xaat-xxx",[157,1032,336],{"class":167},[157,1034,673],{"class":167},[157,1036,1037,1040,1042,1044,1047,1049],{"class":159,"line":558},[157,1038,1039],{"class":333},"  dataset",[157,1041,514],{"class":167},[157,1043,181],{"class":167},[157,1045,1046],{"class":184},"logs",[157,1048,336],{"class":167},[157,1050,673],{"class":167},[157,1052,1053,1055],{"class":159,"line":564},[157,1054,355],{"class":167},[157,1056,358],{"class":171},[157,1058,1059],{"class":159,"line":570},[157,1060,281],{"emptyLinePlaceholder":280},[157,1062,1063],{"class":159,"line":870},[157,1064,1065],{"class":540},"// Send multiple events in one request\n",[157,1067,1068,1070,1072,1075,1077],{"class":159,"line":876},[157,1069,1009],{"class":163},[157,1071,985],{"class":293},[157,1073,1074],{"class":171},"(events",[157,1076,344],{"class":167},[157,1078,313],{"class":167},[157,1080,1081,1083,1085,1087,1089,1091],{"class":159,"line":882},[157,1082,1023],{"class":333},[157,1084,514],{"class":167},[157,1086,181],{"class":167},[157,1088,1030],{"class":184},[157,1090,336],{"class":167},[157,1092,673],{"class":167},[157,1094,1095,1097,1099,1101,1103,1105],{"class":159,"line":887},[157,1096,1039],{"class":333},[157,1098,514],{"class":167},[157,1100,181],{"class":167},[157,1102,1046],{"class":184},[157,1104,336],{"class":167},[157,1106,673],{"class":167},[157,1108,1109,1111],{"class":159,"line":893},[157,1110,355],{"class":167},[157,1112,358],{"class":171},[139,1114,1116],{"id":1115},"next-steps","Next Steps",[1118,1119,1120,1126,1132,1137],"ul",{},[201,1121,1122,1125],{},[132,1123,1124],{"href":72},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[201,1127,1128,1131],{},[132,1129,1130],{"href":77},"PostHog Adapter"," - Send logs to PostHog",[201,1133,1134,1136],{},[132,1135,91],{"href":92}," - Build your own adapter",[201,1138,1139,1141],{},[132,1140,46],{"href":47}," - Security and production tips",[1143,1144,1145],"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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":152,"searchDepth":240,"depth":240,"links":1147},[1148,1149,1154,1160,1161,1166,1167],{"id":141,"depth":240,"text":15},{"id":191,"depth":240,"text":20,"children":1150},[1151,1152,1153],{"id":195,"depth":284,"text":196},{"id":217,"depth":284,"text":218},{"id":251,"depth":284,"text":252},{"id":364,"depth":240,"text":365,"children":1155},[1156,1157,1158,1159],{"id":412,"depth":284,"text":413},{"id":479,"depth":284,"text":480},{"id":577,"depth":284,"text":578},{"id":706,"depth":284,"text":707},{"id":818,"depth":240,"text":819},{"id":910,"depth":240,"text":911,"children":1162},[1163,1164,1165],{"id":914,"depth":284,"text":915},{"id":929,"depth":284,"text":930},{"id":940,"depth":284,"text":941},{"id":961,"depth":240,"text":962},{"id":1115,"depth":240,"text":1116},"Send logs to Axiom for powerful querying, dashboards, and alerting. Zero-config setup with environment variables.","md",[1171,1177],{"label":1172,"icon":1173,"to":206,"target":1174,"color":1175,"variant":1176},"Axiom Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":1124,"icon":74,"to":72,"color":1175,"variant":1176},{},{"title":66,"icon":69},{"title":124,"description":1168},"7IVoSR0zs4Z_WBjtkG1jwShUddc8Tzat8JfqJ5ZV1vs",[1183,1185],{"title":61,"path":62,"stem":63,"description":1184,"icon":64,"children":-1},"Send your logs to external services with evlog adapters. Built-in support for popular observability platforms and custom destinations.",{"title":71,"path":72,"stem":73,"description":1186,"icon":74,"children":-1},"Send logs via OpenTelemetry Protocol to Grafana, Datadog, Honeycomb, and any OTLP-compatible backend.",1771152855748]