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