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