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