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