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