[{"data":1,"prerenderedAt":2672},["ShallowReactive",2],{"navigation_docs":3,"-integrate-adapters-cloud-datadog":505,"-integrate-adapters-cloud-datadog-surround":2667},[4,30,80,123,288,420,475],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"children":127,"page":29},"Integrate","\u002Fintegrate","4.integrate",[128,132,200],{"title":36,"path":129,"stem":130,"icon":131},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":133,"path":134,"stem":135,"children":136,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[137,140,180],{"title":36,"path":138,"stem":139,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":141,"path":142,"stem":143,"children":144,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[145,150,155,160,165,170,175],{"title":146,"path":147,"stem":148,"icon":149},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":151,"path":152,"stem":153,"icon":154},"OTLP","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fotlp","4.integrate\u002Fadapters\u002Fcloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":156,"path":157,"stem":158,"icon":159},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F03.posthog","i-simple-icons-posthog",{"title":161,"path":162,"stem":163,"icon":164},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F04.sentry","i-simple-icons-sentry",{"title":166,"path":167,"stem":168,"icon":169},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":171,"path":172,"stem":173,"icon":174},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F06.datadog","i-simple-icons-datadog",{"title":176,"path":177,"stem":178,"icon":179},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fhyperdx","4.integrate\u002Fadapters\u002Fcloud\u002F07.hyperdx","i-custom-hyperdx",{"title":181,"path":182,"stem":183,"children":184,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[185,190,195],{"title":186,"path":187,"stem":188,"icon":189},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":191,"path":192,"stem":193,"icon":194},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":196,"path":197,"stem":198,"icon":199},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":201,"path":202,"stem":203,"children":204,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[205,209,214,219,224,229,234,239,244,249,254,259,264,269,273,278,283],{"title":36,"path":206,"stem":207,"icon":208},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":210,"path":211,"stem":212,"icon":213},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":215,"path":216,"stem":217,"icon":218},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":220,"path":221,"stem":222,"icon":223},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":225,"path":226,"stem":227,"icon":228},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":230,"path":231,"stem":232,"icon":233},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":235,"path":236,"stem":237,"icon":238},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":240,"path":241,"stem":242,"icon":243},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":245,"path":246,"stem":247,"icon":248},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":250,"path":251,"stem":252,"icon":253},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":255,"path":256,"stem":257,"icon":258},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":260,"path":261,"stem":262,"icon":263},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":265,"path":266,"stem":267,"icon":268},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":270,"path":271,"stem":272,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":274,"path":275,"stem":276,"icon":277},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":279,"path":280,"stem":281,"icon":282},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":284,"path":285,"stem":286,"icon":287},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":289,"path":290,"stem":291,"children":292,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[293,296,301,330,357,389,410,415],{"title":36,"path":294,"stem":295,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":297,"path":298,"stem":299,"icon":300},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":302,"icon":303,"path":304,"stem":305,"children":306,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[307,310,315,320,325],{"title":36,"path":308,"stem":309,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":311,"path":312,"stem":313,"icon":314},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":316,"path":317,"stem":318,"icon":319},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":321,"path":322,"stem":323,"icon":324},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":326,"path":327,"stem":328,"icon":329},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":331,"icon":332,"path":333,"stem":334,"children":335,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[336,339,344,349,353],{"title":36,"path":337,"stem":338,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":340,"path":341,"stem":342,"icon":343},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":345,"path":346,"stem":347,"icon":348},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":350,"path":351,"stem":352,"icon":300},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":354,"path":355,"stem":356,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":358,"icon":359,"path":360,"stem":361,"children":362,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[363,366,371,376,381,385],{"title":36,"path":364,"stem":365,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":367,"path":368,"stem":369,"icon":370},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":372,"path":373,"stem":374,"icon":375},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":377,"path":378,"stem":379,"icon":380},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":382,"path":383,"stem":384,"icon":359},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":386,"path":387,"stem":388,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":326,"icon":107,"path":390,"stem":391,"children":392,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[393,396,401,406],{"title":36,"path":394,"stem":395,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":397,"path":398,"stem":399,"icon":400},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":402,"path":403,"stem":404,"icon":405},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":407,"path":408,"stem":409,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":411,"path":412,"stem":413,"icon":414},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":416,"path":417,"stem":418,"icon":419},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":421,"path":422,"stem":423,"children":424,"page":29},"Extend","\u002Fextend","6.extend",[425,429,434,439,444,448,452,456,460,465,470],{"title":36,"path":426,"stem":427,"icon":428},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":430,"path":431,"stem":432,"icon":433},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":435,"path":436,"stem":437,"icon":438},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":440,"path":441,"stem":442,"icon":443},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":386,"path":445,"stem":446,"icon":447},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":449,"path":450,"stem":451,"icon":428},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":453,"path":454,"stem":455,"icon":414},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":457,"path":458,"stem":459,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":461,"path":462,"stem":463,"icon":464},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":466,"path":467,"stem":468,"icon":469},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":471,"path":472,"stem":473,"icon":474},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":407,"path":476,"stem":477,"children":478,"page":29},"\u002Freference","7.reference",[479,484,487,492,496,501],{"title":480,"path":481,"stem":482,"icon":483},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":354,"path":485,"stem":486,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":488,"path":489,"stem":490,"icon":491},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":493,"path":494,"stem":495,"icon":359},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":497,"path":498,"stem":499,"icon":500},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":502,"path":503,"stem":504,"icon":414},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"id":506,"title":507,"body":508,"description":2654,"extension":2655,"links":2656,"meta":2663,"navigation":2664,"path":172,"seo":2665,"stem":173,"__hash__":2666},"docs\u002F4.integrate\u002Fadapters\u002Fcloud\u002F06.datadog.md","Datadog Adapter",{"type":509,"value":510,"toc":2629},"minimark",[511,537,544,586,590,593,636,639,644,657,661,698,702,1277,1295,1298,1301,1332,1336,1404,1408,1491,1495,1568,1572,1694,1698,1701,1802,1843,1852,1855,1894,2099,2121,2142,2244,2252,2312,2321,2325,2393,2397,2420,2424,2428,2437,2446,2450,2453,2457,2468,2472,2607,2611,2625],[512,513,514,520,521,526,527,531,532,536],"p",{},[515,516,171],"a",{"href":517,"rel":518},"https:\u002F\u002Fwww.datadoghq.com",[519],"nofollow"," is a monitoring and security platform. The evlog Datadog adapter sends your wide events to ",[515,522,525],{"href":523,"rel":524},"https:\u002F\u002Fdocs.datadoghq.com\u002Flogs\u002F",[519],"Datadog Logs"," using the ",[528,529,530],"strong",{},"HTTP Logs intake API (v2)"," with the ",[533,534,535],"code",{},"DD-API-KEY"," header.",[512,538,539,540,543],{},"For OpenTelemetry-based ingestion instead, see the ",[515,541,542],{"href":152},"OTLP adapter",".",[545,546,549,552,574],"prompt",{":actions":547,"description":548,"icon":174},"[\"copy\",\"cursor\",\"claude\"]","Add the Datadog drain adapter",[512,550,551],{},"Add the Datadog drain adapter to send evlog wide events to Datadog Logs.",[553,554,555,559,562,565,568,571],"ol",{},[556,557,558],"li",{},"Identify which framework I'm using and follow its evlog integration pattern",[556,560,561],{},"Install evlog if not already installed",[556,563,564],{},"Import createDatadogDrain from 'evlog\u002Fdatadog'",[556,566,567],{},"Wire createDatadogDrain() into my framework's drain configuration",[556,569,570],{},"Set DD_API_KEY (or DATADOG_API_KEY) and optionally DD_SITE in .env",[556,572,573],{},"Test by triggering a request and checking Log Explorer in Datadog",[512,575,576,577,581,582],{},"Adapter docs: ",[515,578,579],{"href":579,"rel":580},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog",[519],"\nFramework setup: ",[515,583,584],{"href":584,"rel":585},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fframeworks\u002Foverview",[519],[587,588,20],"h2",{"id":589},"installation",[512,591,592],{},"The Datadog adapter comes bundled with evlog:",[594,595,601],"pre",{"className":596,"code":597,"filename":598,"language":599,"meta":600,"style":600},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createDatadogDrain } from 'evlog\u002Fdatadog'\n","src\u002Findex.ts","typescript","",[533,602,603],{"__ignoreMap":600},[604,605,608,612,616,620,623,626,629,633],"span",{"class":606,"line":607},"line",1,[604,609,611],{"class":610},"s7zQu","import",[604,613,615],{"class":614},"sMK4o"," {",[604,617,619],{"class":618},"sTEyZ"," createDatadogDrain",[604,621,622],{"class":614}," }",[604,624,625],{"class":610}," from",[604,627,628],{"class":614}," '",[604,630,632],{"class":631},"sfazB","evlog\u002Fdatadog",[604,634,635],{"class":614},"'\n",[587,637,25],{"id":638},"quick-start",[640,641,643],"h3",{"id":642},"_1-get-your-api-key","1. Get your API key",[553,645,646,654],{},[556,647,648,649],{},"Open ",[515,650,653],{"href":651,"rel":652},"https:\u002F\u002Fapp.datadoghq.com\u002Forganization-settings\u002Fapi-keys",[519],"Datadog Organization Settings → API Keys",[556,655,656],{},"Create or copy an API key with permission to submit logs",[640,658,660],{"id":659},"_2-set-environment-variables","2. Set environment variables",[594,662,667],{"className":663,"code":664,"filename":665,"language":666,"meta":600,"style":600},"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",[533,668,669,680,687],{"__ignoreMap":600},[604,670,671,674,677],{"class":606,"line":607},[604,672,673],{"class":618},"DD_API_KEY",[604,675,676],{"class":614},"=",[604,678,679],{"class":631},"your-api-key\n",[604,681,683],{"class":606,"line":682},2,[604,684,686],{"class":685},"sHwdD","# Optional — defaults to datadoghq.com (US1)\n",[604,688,690,693,695],{"class":606,"line":689},3,[604,691,692],{"class":618},"DD_SITE",[604,694,676],{"class":614},[604,696,697],{"class":631},"datadoghq.eu\n",[640,699,701],{"id":700},"_3-wire-the-drain-to-your-framework","3. Wire the drain to your framework",[703,704,705,816,947,1009,1063,1122,1176,1229],"code-group",{},[594,706,709],{"className":596,"code":707,"filename":708,"language":599,"meta":600,"style":600},"\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",[533,710,711,716,734,740,772,807],{"__ignoreMap":600},[604,712,713],{"class":606,"line":607},[604,714,715],{"class":685},"\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\n",[604,717,718,720,722,724,726,728,730,732],{"class":606,"line":682},[604,719,611],{"class":610},[604,721,615],{"class":614},[604,723,619],{"class":618},[604,725,622],{"class":614},[604,727,625],{"class":610},[604,729,628],{"class":614},[604,731,632],{"class":631},[604,733,635],{"class":614},[604,735,736],{"class":606,"line":689},[604,737,739],{"emptyLinePlaceholder":738},true,"\n",[604,741,743,746,749,753,756,758,762,765,769],{"class":606,"line":742},4,[604,744,745],{"class":610},"export",[604,747,748],{"class":610}," default",[604,750,752],{"class":751},"s2Zo4"," defineNitroPlugin",[604,754,755],{"class":618},"(",[604,757,755],{"class":614},[604,759,761],{"class":760},"sHdIc","nitroApp",[604,763,764],{"class":614},")",[604,766,768],{"class":767},"spNyl"," =>",[604,770,771],{"class":614}," {\n",[604,773,775,778,780,783,785,788,791,794,797,799,802,804],{"class":606,"line":774},5,[604,776,777],{"class":618},"  nitroApp",[604,779,543],{"class":614},[604,781,782],{"class":618},"hooks",[604,784,543],{"class":614},[604,786,787],{"class":751},"hook",[604,789,755],{"class":790},"swJcz",[604,792,793],{"class":614},"'",[604,795,796],{"class":631},"evlog:drain",[604,798,793],{"class":614},[604,800,801],{"class":614},",",[604,803,619],{"class":751},[604,805,806],{"class":790},"())\n",[604,808,810,813],{"class":606,"line":809},6,[604,811,812],{"class":614},"}",[604,814,815],{"class":618},")\n",[594,817,819],{"className":596,"code":818,"filename":215,"language":599,"meta":600,"style":600},"\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",[533,820,821,826,846,864,868,907,925,940],{"__ignoreMap":600},[604,822,823],{"class":606,"line":607},[604,824,825],{"class":685},"\u002F\u002F lib\u002Fevlog.ts\n",[604,827,828,830,832,835,837,839,841,844],{"class":606,"line":682},[604,829,611],{"class":610},[604,831,615],{"class":614},[604,833,834],{"class":618}," createEvlog",[604,836,622],{"class":614},[604,838,625],{"class":610},[604,840,628],{"class":614},[604,842,843],{"class":631},"evlog\u002Fnext",[604,845,635],{"class":614},[604,847,848,850,852,854,856,858,860,862],{"class":606,"line":689},[604,849,611],{"class":610},[604,851,615],{"class":614},[604,853,619],{"class":618},[604,855,622],{"class":614},[604,857,625],{"class":610},[604,859,628],{"class":614},[604,861,632],{"class":631},[604,863,635],{"class":614},[604,865,866],{"class":606,"line":742},[604,867,739],{"emptyLinePlaceholder":738},[604,869,870,872,875,877,880,882,885,887,890,892,895,897,900,902,904],{"class":606,"line":774},[604,871,745],{"class":610},[604,873,874],{"class":767}," const",[604,876,615],{"class":614},[604,878,879],{"class":618}," withEvlog",[604,881,801],{"class":614},[604,883,884],{"class":618}," useLogger",[604,886,801],{"class":614},[604,888,889],{"class":618}," log",[604,891,801],{"class":614},[604,893,894],{"class":618}," createError ",[604,896,812],{"class":614},[604,898,899],{"class":614}," =",[604,901,834],{"class":751},[604,903,755],{"class":618},[604,905,906],{"class":614},"{\n",[604,908,909,912,915,917,920,922],{"class":606,"line":809},[604,910,911],{"class":790},"  service",[604,913,914],{"class":614},":",[604,916,628],{"class":614},[604,918,919],{"class":631},"my-app",[604,921,793],{"class":614},[604,923,924],{"class":614},",\n",[604,926,928,931,933,935,938],{"class":606,"line":927},7,[604,929,930],{"class":790},"  drain",[604,932,914],{"class":614},[604,934,619],{"class":751},[604,936,937],{"class":618},"()",[604,939,924],{"class":614},[604,941,943,945],{"class":606,"line":942},8,[604,944,812],{"class":614},[604,946,815],{"class":618},[594,948,950],{"className":596,"code":949,"filename":245,"language":599,"meta":600,"style":600},"import { createDatadogDrain } from 'evlog\u002Fdatadog'\n\napp.use(evlog({ drain: createDatadogDrain() }))\n",[533,951,952,970,974],{"__ignoreMap":600},[604,953,954,956,958,960,962,964,966,968],{"class":606,"line":607},[604,955,611],{"class":610},[604,957,615],{"class":614},[604,959,619],{"class":618},[604,961,622],{"class":614},[604,963,625],{"class":610},[604,965,628],{"class":614},[604,967,632],{"class":631},[604,969,635],{"class":614},[604,971,972],{"class":606,"line":682},[604,973,739],{"emptyLinePlaceholder":738},[604,975,976,979,981,984,986,989,991,994,997,999,1001,1004,1006],{"class":606,"line":689},[604,977,978],{"class":618},"app",[604,980,543],{"class":614},[604,982,983],{"class":751},"use",[604,985,755],{"class":618},[604,987,988],{"class":751},"evlog",[604,990,755],{"class":618},[604,992,993],{"class":614},"{",[604,995,996],{"class":790}," drain",[604,998,914],{"class":614},[604,1000,619],{"class":751},[604,1002,1003],{"class":618},"() ",[604,1005,812],{"class":614},[604,1007,1008],{"class":618},"))\n",[594,1010,1011],{"className":596,"code":949,"filename":240,"language":599,"meta":600,"style":600},[533,1012,1013,1031,1035],{"__ignoreMap":600},[604,1014,1015,1017,1019,1021,1023,1025,1027,1029],{"class":606,"line":607},[604,1016,611],{"class":610},[604,1018,615],{"class":614},[604,1020,619],{"class":618},[604,1022,622],{"class":614},[604,1024,625],{"class":610},[604,1026,628],{"class":614},[604,1028,632],{"class":631},[604,1030,635],{"class":614},[604,1032,1033],{"class":606,"line":682},[604,1034,739],{"emptyLinePlaceholder":738},[604,1036,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061],{"class":606,"line":689},[604,1038,978],{"class":618},[604,1040,543],{"class":614},[604,1042,983],{"class":751},[604,1044,755],{"class":618},[604,1046,988],{"class":751},[604,1048,755],{"class":618},[604,1050,993],{"class":614},[604,1052,996],{"class":790},[604,1054,914],{"class":614},[604,1056,619],{"class":751},[604,1058,1003],{"class":618},[604,1060,812],{"class":614},[604,1062,1008],{"class":618},[594,1064,1066],{"className":596,"code":1065,"filename":250,"language":599,"meta":600,"style":600},"import { createDatadogDrain } from 'evlog\u002Fdatadog'\n\nawait app.register(evlog, { drain: createDatadogDrain() })\n",[533,1067,1068,1086,1090],{"__ignoreMap":600},[604,1069,1070,1072,1074,1076,1078,1080,1082,1084],{"class":606,"line":607},[604,1071,611],{"class":610},[604,1073,615],{"class":614},[604,1075,619],{"class":618},[604,1077,622],{"class":614},[604,1079,625],{"class":610},[604,1081,628],{"class":614},[604,1083,632],{"class":631},[604,1085,635],{"class":614},[604,1087,1088],{"class":606,"line":682},[604,1089,739],{"emptyLinePlaceholder":738},[604,1091,1092,1095,1098,1100,1103,1106,1108,1110,1112,1114,1116,1118,1120],{"class":606,"line":689},[604,1093,1094],{"class":610},"await",[604,1096,1097],{"class":618}," app",[604,1099,543],{"class":614},[604,1101,1102],{"class":751},"register",[604,1104,1105],{"class":618},"(evlog",[604,1107,801],{"class":614},[604,1109,615],{"class":614},[604,1111,996],{"class":790},[604,1113,914],{"class":614},[604,1115,619],{"class":751},[604,1117,1003],{"class":618},[604,1119,812],{"class":614},[604,1121,815],{"class":618},[594,1123,1124],{"className":596,"code":949,"filename":255,"language":599,"meta":600,"style":600},[533,1125,1126,1144,1148],{"__ignoreMap":600},[604,1127,1128,1130,1132,1134,1136,1138,1140,1142],{"class":606,"line":607},[604,1129,611],{"class":610},[604,1131,615],{"class":614},[604,1133,619],{"class":618},[604,1135,622],{"class":614},[604,1137,625],{"class":610},[604,1139,628],{"class":614},[604,1141,632],{"class":631},[604,1143,635],{"class":614},[604,1145,1146],{"class":606,"line":682},[604,1147,739],{"emptyLinePlaceholder":738},[604,1149,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174],{"class":606,"line":689},[604,1151,978],{"class":618},[604,1153,543],{"class":614},[604,1155,983],{"class":751},[604,1157,755],{"class":618},[604,1159,988],{"class":751},[604,1161,755],{"class":618},[604,1163,993],{"class":614},[604,1165,996],{"class":790},[604,1167,914],{"class":614},[604,1169,619],{"class":751},[604,1171,1003],{"class":618},[604,1173,812],{"class":614},[604,1175,1008],{"class":618},[594,1177,1179],{"className":596,"code":1178,"filename":235,"language":599,"meta":600,"style":600},"import { createDatadogDrain } from 'evlog\u002Fdatadog'\n\nEvlogModule.forRoot({ drain: createDatadogDrain() })\n",[533,1180,1181,1199,1203],{"__ignoreMap":600},[604,1182,1183,1185,1187,1189,1191,1193,1195,1197],{"class":606,"line":607},[604,1184,611],{"class":610},[604,1186,615],{"class":614},[604,1188,619],{"class":618},[604,1190,622],{"class":614},[604,1192,625],{"class":610},[604,1194,628],{"class":614},[604,1196,632],{"class":631},[604,1198,635],{"class":614},[604,1200,1201],{"class":606,"line":682},[604,1202,739],{"emptyLinePlaceholder":738},[604,1204,1205,1208,1210,1213,1215,1217,1219,1221,1223,1225,1227],{"class":606,"line":689},[604,1206,1207],{"class":618},"EvlogModule",[604,1209,543],{"class":614},[604,1211,1212],{"class":751},"forRoot",[604,1214,755],{"class":618},[604,1216,993],{"class":614},[604,1218,996],{"class":790},[604,1220,914],{"class":614},[604,1222,619],{"class":751},[604,1224,1003],{"class":618},[604,1226,812],{"class":614},[604,1228,815],{"class":618},[594,1230,1232],{"className":596,"code":1231,"filename":270,"language":599,"meta":600,"style":600},"import { createDatadogDrain } from 'evlog\u002Fdatadog'\n\ninitLogger({ drain: createDatadogDrain() })\n",[533,1233,1234,1252,1256],{"__ignoreMap":600},[604,1235,1236,1238,1240,1242,1244,1246,1248,1250],{"class":606,"line":607},[604,1237,611],{"class":610},[604,1239,615],{"class":614},[604,1241,619],{"class":618},[604,1243,622],{"class":614},[604,1245,625],{"class":610},[604,1247,628],{"class":614},[604,1249,632],{"class":631},[604,1251,635],{"class":614},[604,1253,1254],{"class":606,"line":682},[604,1255,739],{"emptyLinePlaceholder":738},[604,1257,1258,1261,1263,1265,1267,1269,1271,1273,1275],{"class":606,"line":689},[604,1259,1260],{"class":751},"initLogger",[604,1262,755],{"class":618},[604,1264,993],{"class":614},[604,1266,996],{"class":790},[604,1268,914],{"class":614},[604,1270,619],{"class":751},[604,1272,1003],{"class":618},[604,1274,812],{"class":614},[604,1276,815],{"class":618},[512,1278,1279,1280,1283,1284,1287,1288,1290,1291,1294],{},"Wide events appear in ",[528,1281,1282],{},"Logs → Explorer",". The adapter sets ",[533,1285,1286],{},"ddsource"," to ",[533,1289,988],{}," and ",[533,1292,1293],{},"message"," to a JSON string of the full wide event for easy JSON parsing in pipelines.",[587,1296,480],{"id":1297},"configuration",[512,1299,1300],{},"The adapter reads configuration from multiple sources (highest priority first):",[553,1302,1303,1312,1326],{},[556,1304,1305,1308,1309],{},[528,1306,1307],{},"Overrides"," passed to ",[533,1310,1311],{},"createDatadogDrain()",[556,1313,1314,1317,1318,1321,1322,1325],{},[528,1315,1316],{},"Runtime config"," at ",[533,1319,1320],{},"runtimeConfig.datadog"," or ",[533,1323,1324],{},"runtimeConfig.evlog.datadog"," (Nuxt\u002FNitro)",[556,1327,1328,1331],{},[528,1329,1330],{},"Environment variables"," — see table below",[640,1333,1335],{"id":1334},"environment-variables","Environment Variables",[1337,1338,1339,1352],"table",{},[1340,1341,1342],"thead",{},[1343,1344,1345,1349],"tr",{},[1346,1347,1348],"th",{},"Variable",[1346,1350,1351],{},"Description",[1353,1354,1355,1368,1391],"tbody",{},[1343,1356,1357,1362],{},[1358,1359,1360],"td",{},[533,1361,673],{},[1358,1363,1364,1365],{},"Datadog API key (required). Also: ",[533,1366,1367],{},"DATADOG_API_KEY",[1343,1369,1370,1374],{},[1358,1371,1372],{},[533,1373,692],{},[1358,1375,1376,1377,1380,1381,1380,1384,1387,1388],{},"Site hostname (e.g. ",[533,1378,1379],{},"datadoghq.com",", ",[533,1382,1383],{},"datadoghq.eu",[533,1385,1386],{},"us3.datadoghq.com","). Also: ",[533,1389,1390],{},"DATADOG_SITE",[1343,1392,1393,1398],{},[1358,1394,1395],{},[533,1396,1397],{},"DATADOG_LOGS_URL",[1358,1399,1400,1401],{},"Full intake URL — overrides URL derived from ",[533,1402,1403],{},"site",[640,1405,1407],{"id":1406},"runtime-config-nuxt-only","Runtime Config (Nuxt only)",[594,1409,1412],{"className":596,"code":1410,"filename":1411,"language":599,"meta":600,"style":600},"export default defineNuxtConfig({\n  runtimeConfig: {\n    datadog: {\n      apiKey: '', \u002F\u002F Set via DD_API_KEY or DATADOG_API_KEY\n      site: 'datadoghq.eu',\n    },\n  },\n})\n","nuxt.config.ts",[533,1413,1414,1427,1436,1445,1460,1475,1480,1485],{"__ignoreMap":600},[604,1415,1416,1418,1420,1423,1425],{"class":606,"line":607},[604,1417,745],{"class":610},[604,1419,748],{"class":610},[604,1421,1422],{"class":751}," defineNuxtConfig",[604,1424,755],{"class":618},[604,1426,906],{"class":614},[604,1428,1429,1432,1434],{"class":606,"line":682},[604,1430,1431],{"class":790},"  runtimeConfig",[604,1433,914],{"class":614},[604,1435,771],{"class":614},[604,1437,1438,1441,1443],{"class":606,"line":689},[604,1439,1440],{"class":790},"    datadog",[604,1442,914],{"class":614},[604,1444,771],{"class":614},[604,1446,1447,1450,1452,1455,1457],{"class":606,"line":742},[604,1448,1449],{"class":790},"      apiKey",[604,1451,914],{"class":614},[604,1453,1454],{"class":614}," ''",[604,1456,801],{"class":614},[604,1458,1459],{"class":685}," \u002F\u002F Set via DD_API_KEY or DATADOG_API_KEY\n",[604,1461,1462,1465,1467,1469,1471,1473],{"class":606,"line":774},[604,1463,1464],{"class":790},"      site",[604,1466,914],{"class":614},[604,1468,628],{"class":614},[604,1470,1383],{"class":631},[604,1472,793],{"class":614},[604,1474,924],{"class":614},[604,1476,1477],{"class":606,"line":809},[604,1478,1479],{"class":614},"    },\n",[604,1481,1482],{"class":606,"line":927},[604,1483,1484],{"class":614},"  },\n",[604,1486,1487,1489],{"class":606,"line":942},[604,1488,812],{"class":614},[604,1490,815],{"class":618},[640,1492,1494],{"id":1493},"override-options","Override Options",[594,1496,1499],{"className":596,"code":1497,"filename":1498,"language":599,"meta":600,"style":600},"const drain = createDatadogDrain({\n  apiKey: '***',\n  site: 'us5.datadoghq.com',\n  timeout: 10000,\n})\n","server\u002Fplugins\u002Fevlog-drain.ts",[533,1500,1501,1517,1533,1549,1562],{"__ignoreMap":600},[604,1502,1503,1506,1509,1511,1513,1515],{"class":606,"line":607},[604,1504,1505],{"class":767},"const",[604,1507,1508],{"class":618}," drain ",[604,1510,676],{"class":614},[604,1512,619],{"class":751},[604,1514,755],{"class":618},[604,1516,906],{"class":614},[604,1518,1519,1522,1524,1526,1529,1531],{"class":606,"line":682},[604,1520,1521],{"class":790},"  apiKey",[604,1523,914],{"class":614},[604,1525,628],{"class":614},[604,1527,1528],{"class":631},"***",[604,1530,793],{"class":614},[604,1532,924],{"class":614},[604,1534,1535,1538,1540,1542,1545,1547],{"class":606,"line":689},[604,1536,1537],{"class":790},"  site",[604,1539,914],{"class":614},[604,1541,628],{"class":614},[604,1543,1544],{"class":631},"us5.datadoghq.com",[604,1546,793],{"class":614},[604,1548,924],{"class":614},[604,1550,1551,1554,1556,1560],{"class":606,"line":742},[604,1552,1553],{"class":790},"  timeout",[604,1555,914],{"class":614},[604,1557,1559],{"class":1558},"sbssI"," 10000",[604,1561,924],{"class":614},[604,1563,1564,1566],{"class":606,"line":774},[604,1565,812],{"class":614},[604,1567,815],{"class":618},[640,1569,1571],{"id":1570},"full-configuration-reference","Full Configuration Reference",[1337,1573,1574,1589],{},[1340,1575,1576],{},[1343,1577,1578,1581,1584,1587],{},[1346,1579,1580],{},"Option",[1346,1582,1583],{},"Type",[1346,1585,1586],{},"Default",[1346,1588,1351],{},[1353,1590,1591,1609,1629,1655,1675],{},[1343,1592,1593,1598,1603,1606],{},[1358,1594,1595],{},[533,1596,1597],{},"apiKey",[1358,1599,1600],{},[533,1601,1602],{},"string",[1358,1604,1605],{},"—",[1358,1607,1608],{},"Datadog API key (required)",[1343,1610,1611,1615,1619,1623],{},[1358,1612,1613],{},[533,1614,1403],{},[1358,1616,1617],{},[533,1618,1602],{},[1358,1620,1621],{},[533,1622,1379],{},[1358,1624,1625,1626],{},"Site for intake host ",[533,1627,1628],{},"http-intake.logs.${site}",[1343,1630,1631,1636,1640,1645],{},[1358,1632,1633],{},[533,1634,1635],{},"intakeUrl",[1358,1637,1638],{},[533,1639,1602],{},[1358,1641,1642,1643],{},"from ",[533,1644,1403],{},[1358,1646,1647,1648,1651,1652],{},"Full ",[533,1649,1650],{},"POST"," URL for ",[533,1653,1654],{},"\u002Fapi\u002Fv2\u002Flogs",[1343,1656,1657,1662,1667,1672],{},[1358,1658,1659],{},[533,1660,1661],{},"timeout",[1358,1663,1664],{},[533,1665,1666],{},"number",[1358,1668,1669],{},[533,1670,1671],{},"5000",[1358,1673,1674],{},"Request timeout (ms)",[1343,1676,1677,1682,1686,1691],{},[1358,1678,1679],{},[533,1680,1681],{},"retries",[1358,1683,1684],{},[533,1685,1666],{},[1358,1687,1688],{},[533,1689,1690],{},"2",[1358,1692,1693],{},"Retries on transient failures",[587,1695,1697],{"id":1696},"log-shape","Log shape",[512,1699,1700],{},"Each wide event becomes one Datadog log with:",[1702,1703,1704,1719,1744,1760,1791],"ul",{},[556,1705,1706,1710,1711,1714,1715,1718],{},[528,1707,1708],{},[533,1709,1293],{}," — short one-line summary for the list view (e.g. ",[533,1712,1713],{},"ERROR GET \u002Fapi\u002Fcheckout (400)","), built with ",[533,1716,1717],{},"formatDatadogMessageLine",". Easier to scan than a full JSON blob in Live Tail.",[556,1720,1721,1725,1726,1729,1730,1735,1736,1741,1742,543],{},[528,1722,1723],{},[533,1724,988],{}," — full wide event as a ",[528,1727,1728],{},"JSON object"," (not a string). Numeric HTTP ",[528,1731,1732],{},[533,1733,1734],{},"status"," fields anywhere in the tree are renamed to ",[528,1737,1738],{},[533,1739,1740],{},"httpStatusCode"," so they never clash with Datadog’s reserved severity ",[533,1743,1734],{},[556,1745,1746,1751,1752,1755,1756,543],{},[528,1747,1748],{},[533,1749,1750],{},"dd"," — ",[533,1753,1754],{},"{ trace_id, span_id }"," when the event carries trace context. See ",[515,1757,1759],{"href":1758},"#trace-correlation","Trace correlation",[556,1761,1762,1380,1767,1771,1772,1776,1777,1380,1779,1776,1784,1787,1788],{},[528,1763,1764],{},[533,1765,1766],{},"service",[528,1768,1769],{},[533,1770,1734],{}," (Datadog severity — drives Live Tail color), ",[528,1773,1774],{},[533,1775,1286],{},": ",[533,1778,988],{},[528,1780,1781],{},[533,1782,1783],{},"ddtags",[533,1785,1786],{},"env:…"," and optional ",[533,1789,1790],{},"version:…",[556,1792,1793,1798,1799],{},[528,1794,1795],{},[533,1796,1797],{},"timestamp",": Unix milliseconds from ",[533,1800,1801],{},"WideEvent.timestamp",[512,1803,1804,1809,1810,1815,1816,1820,1821,1824,1825,1827,1828,1831,1832,1837,1838,543],{},[528,1805,1806,1807,764],{},"Severity (",[533,1808,1734],{}," at intake root is computed by the adapter from the wide event’s ",[528,1811,1812],{},[533,1813,1814],{},"level"," and HTTP ",[528,1817,1818],{},[533,1819,1734],{}," (",[533,1822,1823],{},"resolveDatadogLogStatus"," in ",[533,1826,632],{},"). Business-only fields on ",[528,1829,1830],{},"HTTP 200"," stay ",[528,1833,1834],{},[533,1835,1836],{},"info"," unless you call ",[528,1839,1840],{},[533,1841,1842],{},"log.error()",[512,1844,1845,1846,1849,1850,543],{},"For advanced use, ",[533,1847,1848],{},"sanitizeWideEventForDatadog(event)"," returns only the sanitized object you would store under ",[533,1851,988],{},[587,1853,1759],{"id":1854},"trace-correlation",[512,1856,1857,1858,1863,1864,1869,1870,1873,1874,1877,1878,1883,1884,1290,1887,1890,1891,1893],{},"Datadog links a log to a trace through the reserved ",[528,1859,1860],{},[533,1861,1862],{},"dd.trace_id"," \u002F ",[528,1865,1866],{},[533,1867,1868],{},"dd.span_id"," attributes at the ",[528,1871,1872],{},"root"," of the payload. Nested copies (",[533,1875,1876],{},"@evlog.traceId",") are searchable but do not correlate on their own — that takes a ",[515,1879,1882],{"href":1880,"rel":1881},"https:\u002F\u002Fdocs.datadoghq.com\u002Flogs\u002Flog_configuration\u002Fprocessors\u002Ftrace_remapper\u002F",[519],"Trace Id Remapper"," in a Datadog log pipeline, configuration living outside your codebase. The adapter lifts ",[533,1885,1886],{},"event.traceId",[533,1888,1889],{},"event.spanId"," into a root ",[533,1892,1750],{}," block instead, so correlation works with no pipeline setup:",[594,1895,1899],{"className":1896,"code":1897,"language":1898,"meta":600,"style":600},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"message\": \"ERROR GET \u002Fapi\u002Fcheckout (400)\",\n  \"evlog\": { \"traceId\": \"4bf92f35…\", \"spanId\": \"00f067aa…\", \"…\": \"full wide event\" },\n  \"dd\": { \"trace_id\": \"4bf92f35…\", \"span_id\": \"00f067aa…\" },\n  \"service\": \"my-app\",\n  \"status\": \"error\",\n  \"ddsource\": \"evlog\"\n}\n","json",[533,1900,1901,1905,1926,1994,2040,2058,2077,2094],{"__ignoreMap":600},[604,1902,1903],{"class":606,"line":607},[604,1904,906],{"class":614},[604,1906,1907,1910,1912,1915,1917,1920,1922,1924],{"class":606,"line":682},[604,1908,1909],{"class":614},"  \"",[604,1911,1293],{"class":767},[604,1913,1914],{"class":614},"\"",[604,1916,914],{"class":614},[604,1918,1919],{"class":614}," \"",[604,1921,1713],{"class":631},[604,1923,1914],{"class":614},[604,1925,924],{"class":614},[604,1927,1928,1930,1932,1934,1936,1938,1940,1944,1946,1948,1950,1953,1955,1957,1959,1962,1964,1966,1968,1971,1973,1975,1977,1980,1982,1984,1986,1989,1991],{"class":606,"line":689},[604,1929,1909],{"class":614},[604,1931,988],{"class":767},[604,1933,1914],{"class":614},[604,1935,914],{"class":614},[604,1937,615],{"class":614},[604,1939,1919],{"class":614},[604,1941,1943],{"class":1942},"sBMFI","traceId",[604,1945,1914],{"class":614},[604,1947,914],{"class":614},[604,1949,1919],{"class":614},[604,1951,1952],{"class":631},"4bf92f35…",[604,1954,1914],{"class":614},[604,1956,801],{"class":614},[604,1958,1919],{"class":614},[604,1960,1961],{"class":1942},"spanId",[604,1963,1914],{"class":614},[604,1965,914],{"class":614},[604,1967,1919],{"class":614},[604,1969,1970],{"class":631},"00f067aa…",[604,1972,1914],{"class":614},[604,1974,801],{"class":614},[604,1976,1919],{"class":614},[604,1978,1979],{"class":1942},"…",[604,1981,1914],{"class":614},[604,1983,914],{"class":614},[604,1985,1919],{"class":614},[604,1987,1988],{"class":631},"full wide event",[604,1990,1914],{"class":614},[604,1992,1993],{"class":614}," },\n",[604,1995,1996,1998,2000,2002,2004,2006,2008,2011,2013,2015,2017,2019,2021,2023,2025,2028,2030,2032,2034,2036,2038],{"class":606,"line":742},[604,1997,1909],{"class":614},[604,1999,1750],{"class":767},[604,2001,1914],{"class":614},[604,2003,914],{"class":614},[604,2005,615],{"class":614},[604,2007,1919],{"class":614},[604,2009,2010],{"class":1942},"trace_id",[604,2012,1914],{"class":614},[604,2014,914],{"class":614},[604,2016,1919],{"class":614},[604,2018,1952],{"class":631},[604,2020,1914],{"class":614},[604,2022,801],{"class":614},[604,2024,1919],{"class":614},[604,2026,2027],{"class":1942},"span_id",[604,2029,1914],{"class":614},[604,2031,914],{"class":614},[604,2033,1919],{"class":614},[604,2035,1970],{"class":631},[604,2037,1914],{"class":614},[604,2039,1993],{"class":614},[604,2041,2042,2044,2046,2048,2050,2052,2054,2056],{"class":606,"line":774},[604,2043,1909],{"class":614},[604,2045,1766],{"class":767},[604,2047,1914],{"class":614},[604,2049,914],{"class":614},[604,2051,1919],{"class":614},[604,2053,919],{"class":631},[604,2055,1914],{"class":614},[604,2057,924],{"class":614},[604,2059,2060,2062,2064,2066,2068,2070,2073,2075],{"class":606,"line":809},[604,2061,1909],{"class":614},[604,2063,1734],{"class":767},[604,2065,1914],{"class":614},[604,2067,914],{"class":614},[604,2069,1919],{"class":614},[604,2071,2072],{"class":631},"error",[604,2074,1914],{"class":614},[604,2076,924],{"class":614},[604,2078,2079,2081,2083,2085,2087,2089,2091],{"class":606,"line":927},[604,2080,1909],{"class":614},[604,2082,1286],{"class":767},[604,2084,1914],{"class":614},[604,2086,914],{"class":614},[604,2088,1919],{"class":614},[604,2090,988],{"class":631},[604,2092,2093],{"class":614},"\"\n",[604,2095,2096],{"class":606,"line":942},[604,2097,2098],{"class":614},"}\n",[512,2100,2101,2102,2104,2105,2108,2109,2112,2113,1863,2115,2117,2118,2120],{},"The nested copy under ",[533,2103,988],{}," stays, so existing ",[533,2106,2107],{},"@evlog.*"," facets and dashboards keep working. Only ",[528,2110,2111],{},"non-empty strings"," are lifted — an empty or non-string ",[533,2114,1943],{},[533,2116,1961],{}," is skipped rather than sent as an id Datadog would fail to resolve, and the ",[533,2119,1750],{}," key is absent when neither id survives that check.",[512,2122,2123,2124,2127,2128,2133,2134,2137,2138,1863,2140,914],{},"Those fields are populated by ",[533,2125,2126],{},"createTraceContextEnricher",", included in ",[515,2129,2130],{"href":412},[533,2131,2132],{},"createDefaultEnrichers()"," — it parses the incoming W3C ",[533,2135,2136],{},"traceparent"," header into ",[533,2139,1886],{},[533,2141,1889],{},[594,2143,2146],{"className":596,"code":2144,"filename":2145,"language":599,"meta":600,"style":600},"import { createDefaultEnrichers } from 'evlog\u002Fenrichers'\n\nconst enrich = createDefaultEnrichers()\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:enrich', enrich)\n})\n","server\u002Fplugins\u002Fevlog-enrich.ts",[533,2147,2148,2168,2172,2186,2190,2210,2238],{"__ignoreMap":600},[604,2149,2150,2152,2154,2157,2159,2161,2163,2166],{"class":606,"line":607},[604,2151,611],{"class":610},[604,2153,615],{"class":614},[604,2155,2156],{"class":618}," createDefaultEnrichers",[604,2158,622],{"class":614},[604,2160,625],{"class":610},[604,2162,628],{"class":614},[604,2164,2165],{"class":631},"evlog\u002Fenrichers",[604,2167,635],{"class":614},[604,2169,2170],{"class":606,"line":682},[604,2171,739],{"emptyLinePlaceholder":738},[604,2173,2174,2176,2179,2181,2183],{"class":606,"line":689},[604,2175,1505],{"class":767},[604,2177,2178],{"class":618}," enrich ",[604,2180,676],{"class":614},[604,2182,2156],{"class":751},[604,2184,2185],{"class":618},"()\n",[604,2187,2188],{"class":606,"line":742},[604,2189,739],{"emptyLinePlaceholder":738},[604,2191,2192,2194,2196,2198,2200,2202,2204,2206,2208],{"class":606,"line":774},[604,2193,745],{"class":610},[604,2195,748],{"class":610},[604,2197,752],{"class":751},[604,2199,755],{"class":618},[604,2201,755],{"class":614},[604,2203,761],{"class":760},[604,2205,764],{"class":614},[604,2207,768],{"class":767},[604,2209,771],{"class":614},[604,2211,2212,2214,2216,2218,2220,2222,2224,2226,2229,2231,2233,2236],{"class":606,"line":809},[604,2213,777],{"class":618},[604,2215,543],{"class":614},[604,2217,782],{"class":618},[604,2219,543],{"class":614},[604,2221,787],{"class":751},[604,2223,755],{"class":790},[604,2225,793],{"class":614},[604,2227,2228],{"class":631},"evlog:enrich",[604,2230,793],{"class":614},[604,2232,801],{"class":614},[604,2234,2235],{"class":618}," enrich",[604,2237,815],{"class":790},[604,2239,2240,2242],{"class":606,"line":927},[604,2241,812],{"class":614},[604,2243,815],{"class":618},[512,2245,2246,2247,1863,2249,2251],{},"If your ids come from somewhere else (a tracer SDK, a vendor header), set ",[533,2248,1886],{},[533,2250,1889],{}," yourself and the adapter picks them up the same way:",[594,2253,2255],{"className":596,"code":2254,"language":599,"meta":600,"style":600},"log.set({ traceId: tracer.scope().active()?.context().toTraceId() })\n",[533,2256,2257],{"__ignoreMap":600},[604,2258,2259,2262,2264,2267,2269,2271,2274,2276,2279,2281,2284,2286,2288,2291,2293,2296,2299,2301,2303,2306,2308,2310],{"class":606,"line":607},[604,2260,2261],{"class":618},"log",[604,2263,543],{"class":614},[604,2265,2266],{"class":751},"set",[604,2268,755],{"class":618},[604,2270,993],{"class":614},[604,2272,2273],{"class":790}," traceId",[604,2275,914],{"class":614},[604,2277,2278],{"class":618}," tracer",[604,2280,543],{"class":614},[604,2282,2283],{"class":751},"scope",[604,2285,937],{"class":618},[604,2287,543],{"class":614},[604,2289,2290],{"class":751},"active",[604,2292,937],{"class":618},[604,2294,2295],{"class":614},"?.",[604,2297,2298],{"class":751},"context",[604,2300,937],{"class":618},[604,2302,543],{"class":614},[604,2304,2305],{"class":751},"toTraceId",[604,2307,1003],{"class":618},[604,2309,812],{"class":614},[604,2311,815],{"class":618},[512,2313,2314,2317,2318,2320],{},[533,2315,2316],{},"resolveDatadogTraceContext(event)"," is exported from ",[533,2319,632],{}," if you need the same mapping in a custom drain.",[587,2322,2324],{"id":2323},"querying-in-datadog","Querying in Datadog",[1702,2326,2327,2341,2364,2373],{},[556,2328,2329,1776,2332,1380,2335,1380,2338],{},[528,2330,2331],{},"Log Explorer",[533,2333,2334],{},"source:evlog",[533,2336,2337],{},"service:your-app",[533,2339,2340],{},"status:error",[556,2342,2343,2346,2347,1380,2350,1380,2353,2356,2357,2361,2362],{},[528,2344,2345],{},"Facets",": prefer ",[533,2348,2349],{},"@evlog.path",[533,2351,2352],{},"@evlog.requestId",[533,2354,2355],{},"@evlog.level",", etc. — core fields are under ",[528,2358,2359],{},[533,2360,988],{},", not a JSON string in ",[533,2363,1293],{},[556,2365,2366,2369,2370,2372],{},[528,2367,2368],{},"Metrics",": log-based metrics on ",[533,2371,2107],{}," attributes",[556,2374,2375,2378,2379,2381,2382,2384,2385,2389,2390,2392],{},[528,2376,2377],{},"Pipelines",": if you previously parsed a full JSON ",[528,2380,1602],{}," inside ",[533,2383,1293],{},", move those facets to ",[528,2386,2387],{},[533,2388,2107],{},". The ",[533,2391,1293],{}," field is now a short summary line only.",[587,2394,2396],{"id":2395},"simple-logs-vs-wide-events","Simple logs vs wide events",[512,2398,2399,2400,2405,2406,2409,2410,2415,2416,543],{},"Plain-text lines in Live Tail (e.g. “Form field is empty”) usually come from ",[528,2401,2402],{},[533,2403,2404],{},"log.info('tag', 'msg')"," or similar, not from the ",[528,2407,2408],{},"wide event"," sent on ",[528,2411,2412],{},[533,2413,2414],{},"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 ",[528,2417,2418],{},[533,2419,2334],{},[587,2421,2423],{"id":2422},"troubleshooting","Troubleshooting",[640,2425,2427],{"id":2426},"missing-api-key","Missing API key",[594,2429,2435],{"className":2430,"code":2432,"filename":2433,"language":2434,"meta":600},[2431],"language-text","[evlog\u002Fdatadog] Missing API key. Set DATADOG_API_KEY, DD_API_KEY...\n","Console","text",[533,2436,2432],{"__ignoreMap":600},[512,2438,2439,2440,2442,2443,2445],{},"Set ",[533,2441,673],{}," (or unprefixed ",[533,2444,1367],{},") and restart the process.",[640,2447,2449],{"id":2448},"_403-forbidden","403 Forbidden",[512,2451,2452],{},"The API key may lack log ingestion permission or belong to the wrong organization. Verify the key in Datadog and try a new key.",[640,2454,2456],{"id":2455},"wrong-region-site","Wrong region \u002F site",[512,2458,2459,2460,2462,2463,2465,2466,543],{},"If logs never appear, confirm ",[533,2461,692],{}," matches your Datadog account (e.g. EU: ",[533,2464,1383],{},"). For a custom intake URL, set ",[533,2467,1397],{},[587,2469,2471],{"id":2470},"direct-api-usage","Direct API usage",[594,2473,2476],{"className":596,"code":2474,"filename":2475,"language":599,"meta":600,"style":600},"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",[533,2477,2478,2502,2506,2519,2540,2558,2564,2568,2581,2600],{"__ignoreMap":600},[604,2479,2480,2482,2484,2487,2489,2492,2494,2496,2498,2500],{"class":606,"line":607},[604,2481,611],{"class":610},[604,2483,615],{"class":614},[604,2485,2486],{"class":618}," sendToDatadog",[604,2488,801],{"class":614},[604,2490,2491],{"class":618}," sendBatchToDatadog",[604,2493,622],{"class":614},[604,2495,625],{"class":610},[604,2497,628],{"class":614},[604,2499,632],{"class":631},[604,2501,635],{"class":614},[604,2503,2504],{"class":606,"line":682},[604,2505,739],{"emptyLinePlaceholder":738},[604,2507,2508,2510,2512,2515,2517],{"class":606,"line":689},[604,2509,1094],{"class":610},[604,2511,2486],{"class":751},[604,2513,2514],{"class":618},"(event",[604,2516,801],{"class":614},[604,2518,771],{"class":614},[604,2520,2521,2523,2525,2528,2530,2533,2535,2537],{"class":606,"line":742},[604,2522,1521],{"class":790},[604,2524,914],{"class":614},[604,2526,2527],{"class":618}," process",[604,2529,543],{"class":614},[604,2531,2532],{"class":618},"env",[604,2534,543],{"class":614},[604,2536,673],{"class":618},[604,2538,2539],{"class":614},"!,\n",[604,2541,2542,2544,2546,2548,2550,2552,2554,2556],{"class":606,"line":774},[604,2543,1537],{"class":790},[604,2545,914],{"class":614},[604,2547,2527],{"class":618},[604,2549,543],{"class":614},[604,2551,2532],{"class":618},[604,2553,543],{"class":614},[604,2555,692],{"class":618},[604,2557,924],{"class":614},[604,2559,2560,2562],{"class":606,"line":809},[604,2561,812],{"class":614},[604,2563,815],{"class":618},[604,2565,2566],{"class":606,"line":927},[604,2567,739],{"emptyLinePlaceholder":738},[604,2569,2570,2572,2574,2577,2579],{"class":606,"line":942},[604,2571,1094],{"class":610},[604,2573,2491],{"class":751},[604,2575,2576],{"class":618},"(events",[604,2578,801],{"class":614},[604,2580,771],{"class":614},[604,2582,2584,2586,2588,2590,2592,2594,2596,2598],{"class":606,"line":2583},9,[604,2585,1521],{"class":790},[604,2587,914],{"class":614},[604,2589,2527],{"class":618},[604,2591,543],{"class":614},[604,2593,2532],{"class":618},[604,2595,543],{"class":614},[604,2597,673],{"class":618},[604,2599,2539],{"class":614},[604,2601,2603,2605],{"class":606,"line":2602},10,[604,2604,812],{"class":614},[604,2606,815],{"class":618},[587,2608,2610],{"id":2609},"next-steps","Next Steps",[1702,2612,2613,2619],{},[556,2614,2615,2618],{},[515,2616,2617],{"href":152},"OTLP Adapter"," — Send logs via OpenTelemetry (works with Datadog Agent \u002F OTLP endpoint)",[556,2620,2621,2624],{},[515,2622,2623],{"href":467},"Custom Adapters"," — Build your own destination",[2626,2627,2628],"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}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":600,"searchDepth":682,"depth":682,"links":2630},[2631,2632,2637,2643,2644,2645,2646,2647,2652,2653],{"id":589,"depth":682,"text":20},{"id":638,"depth":682,"text":25,"children":2633},[2634,2635,2636],{"id":642,"depth":689,"text":643},{"id":659,"depth":689,"text":660},{"id":700,"depth":689,"text":701},{"id":1297,"depth":682,"text":480,"children":2638},[2639,2640,2641,2642],{"id":1334,"depth":689,"text":1335},{"id":1406,"depth":689,"text":1407},{"id":1493,"depth":689,"text":1494},{"id":1570,"depth":689,"text":1571},{"id":1696,"depth":682,"text":1697},{"id":1854,"depth":682,"text":1759},{"id":2323,"depth":682,"text":2324},{"id":2395,"depth":682,"text":2396},{"id":2422,"depth":682,"text":2423,"children":2648},[2649,2650,2651],{"id":2426,"depth":689,"text":2427},{"id":2448,"depth":689,"text":2449},{"id":2455,"depth":689,"text":2456},{"id":2470,"depth":682,"text":2471},{"id":2609,"depth":682,"text":2610},"Send wide events to Datadog Logs via the native HTTP intake API. Supports all Datadog sites and DD_* environment variables.","md",[2657,2662],{"label":525,"icon":2658,"to":523,"target":2659,"color":2660,"variant":2661},"i-lucide-external-link","_blank","neutral","subtle",{"label":2617,"icon":154,"to":152,"color":2660,"variant":2661},{},{"title":171,"icon":174},{"title":507,"description":2654},"ILr-xR4FGTs4ac_ZrJ0YFfAdYDAd9YfHwV_070kIeSk",[2668,2670],{"title":166,"path":167,"stem":168,"description":2669,"icon":169,"children":-1},"Send wide events to Better Stack (formerly Logtail) for log management, alerting, and dashboards. Zero-config setup with environment variables.",{"title":176,"path":177,"stem":178,"description":2671,"icon":179,"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.",1785601763128]