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