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