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