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