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