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