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