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