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