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