[{"data":1,"prerenderedAt":1137},["ShallowReactive",2],{"navigation_docs":3,"-adapters-better-stack":181,"-adapters-better-stack-surround":1132},[4,30,55,105,122,136],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","/getting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","/getting-started/agent-skills","1.getting-started/4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Core Concepts","/core-concepts","2.core-concepts",[35,40,45,50],{"title":36,"path":37,"stem":38,"icon":39},"Wide Events","/core-concepts/wide-events","2.core-concepts/1.wide-events","i-lucide-layers",{"title":41,"path":42,"stem":43,"icon":44},"Structured Errors","/core-concepts/structured-errors","2.core-concepts/2.structured-errors","i-lucide-shield-alert",{"title":46,"path":47,"stem":48,"icon":49},"Best Practices","/core-concepts/best-practices","2.core-concepts/3.best-practices","i-lucide-shield-check",{"title":51,"path":52,"stem":53,"icon":54},"Typed Fields","/core-concepts/typed-fields","2.core-concepts/4.typed-fields","i-simple-icons-typescript",{"title":56,"path":57,"stem":58,"children":59,"page":29},"Adapters","/adapters","3.adapters",[60,65,70,75,80,85,90,95,100],{"title":61,"path":62,"stem":63,"icon":64},"Overview","/adapters/overview","3.adapters/1.overview","i-custom-plug",{"title":66,"path":67,"stem":68,"icon":69},"Axiom","/adapters/axiom","3.adapters/2.axiom","i-custom-axiom",{"title":71,"path":72,"stem":73,"icon":74},"OTLP","/adapters/otlp","3.adapters/3.otlp","i-simple-icons-opentelemetry",{"title":76,"path":77,"stem":78,"icon":79},"PostHog","/adapters/posthog","3.adapters/4.posthog","i-simple-icons-posthog",{"title":81,"path":82,"stem":83,"icon":84},"Sentry","/adapters/sentry","3.adapters/5.sentry","i-simple-icons-sentry",{"title":86,"path":87,"stem":88,"icon":89},"Better Stack","/adapters/better-stack","3.adapters/6.better-stack","i-simple-icons-betterstack",{"title":91,"path":92,"stem":93,"icon":94},"Custom Adapters","/adapters/custom","3.adapters/7.custom","i-lucide-code",{"title":96,"path":97,"stem":98,"icon":99},"Pipeline","/adapters/pipeline","3.adapters/8.pipeline","i-lucide-workflow",{"title":101,"path":102,"stem":103,"icon":104},"Browser","/adapters/browser","3.adapters/9.browser","i-lucide-globe",{"title":106,"path":107,"stem":108,"children":109,"page":29},"Enrichers","/enrichers","4.enrichers",[110,113,118],{"title":61,"path":111,"stem":112,"icon":28},"/enrichers/overview","4.enrichers/1.overview",{"title":114,"path":115,"stem":116,"icon":117},"Built-in","/enrichers/built-in","4.enrichers/2.built-in","i-lucide-puzzle",{"title":119,"path":120,"stem":121,"icon":94},"Custom","/enrichers/custom","4.enrichers/3.custom",{"title":123,"path":124,"stem":125,"children":126,"page":29},"NuxtHub","/nuxthub","5.nuxthub",[127,131],{"title":61,"path":128,"stem":129,"icon":130},"/nuxthub/overview","5.nuxthub/1.overview","i-lucide-database",{"title":132,"path":133,"stem":134,"icon":135},"Retention","/nuxthub/retention","5.nuxthub/2.retention","i-lucide-clock",{"title":137,"path":138,"stem":139,"children":140,"page":29},"Examples","/examples","6.examples",[141,146,151,156,161,166,171,176],{"title":142,"path":143,"stem":144,"icon":145},"Next.js","/examples/nextjs","6.examples/1.nextjs","i-simple-icons-nextdotjs",{"title":147,"path":148,"stem":149,"icon":150},"SvelteKit","/examples/sveltekit","6.examples/2.sveltekit","i-simple-icons-svelte",{"title":152,"path":153,"stem":154,"icon":155},"TanStack Start","/examples/tanstack-start","6.examples/3.tanstack-start","i-custom-tanstack",{"title":157,"path":158,"stem":159,"icon":160},"NestJS","/examples/nestjs","6.examples/4.nestjs","i-simple-icons-nestjs",{"title":162,"path":163,"stem":164,"icon":165},"Express","/examples/express","6.examples/5.express","i-simple-icons-express",{"title":167,"path":168,"stem":169,"icon":170},"Hono","/examples/hono","6.examples/6.hono","i-simple-icons-hono",{"title":172,"path":173,"stem":174,"icon":175},"Fastify","/examples/fastify","6.examples/7.fastify","i-simple-icons-fastify",{"title":177,"path":178,"stem":179,"icon":180},"Elysia","/examples/elysia","6.examples/8.elysia","i-custom-elysia",{"id":182,"title":183,"body":184,"description":1117,"extension":1118,"links":1119,"meta":1128,"navigation":1129,"path":87,"seo":1130,"stem":88,"__hash__":1131},"docs/3.adapters/6.better-stack.md","Better Stack Adapter",{"type":185,"value":186,"toc":1094},"minimark",[187,197,201,204,248,251,256,281,285,304,308,415,418,422,425,465,469,508,519,523,530,602,606,609,732,736,811,815,821,844,847,851,854,894,898,902,910,913,917,923,927,930,934,937,1067,1071,1090],[188,189,190,196],"p",{},[191,192,86],"a",{"href":193,"rel":194},"https://betterstack.com",[195],"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.",[198,199,15],"h2",{"id":200},"installation",[188,202,203],{},"The Better Stack adapter comes bundled with evlog:",[205,206,212],"pre",{"className":207,"code":208,"filename":209,"language":210,"meta":211,"style":211},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createBetterStackDrain } from 'evlog/better-stack'\n","server/plugins/evlog-drain.ts","typescript","",[213,214,215],"code",{"__ignoreMap":211},[216,217,220,224,228,232,235,238,241,245],"span",{"class":218,"line":219},"line",1,[216,221,223],{"class":222},"s7zQu","import",[216,225,227],{"class":226},"sMK4o"," {",[216,229,231],{"class":230},"sTEyZ"," createBetterStackDrain",[216,233,234],{"class":226}," }",[216,236,237],{"class":222}," from",[216,239,240],{"class":226}," '",[216,242,244],{"class":243},"sfazB","evlog/better-stack",[216,246,247],{"class":226},"'\n",[198,249,20],{"id":250},"quick-start",[252,253,255],"h3",{"id":254},"_1-get-your-source-token","1. Get your source token",[257,258,259,267,275],"ol",{},[260,261,262,263],"li",{},"Create a ",[191,264,266],{"href":193,"rel":265},[195],"Better Stack account",[260,268,269,270,274],{},"Go to ",[271,272,273],"strong",{},"Telemetry > Sources"," and create a new source",[260,276,277,278],{},"Copy the ",[271,279,280],{},"Source Token",[252,282,284],{"id":283},"_2-set-environment-variables","2. Set environment variables",[205,286,291],{"className":287,"code":288,"filename":289,"language":290,"meta":211,"style":211},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","NUXT_BETTER_STACK_SOURCE_TOKEN=your-source-token-here\n",".env","bash",[213,292,293],{"__ignoreMap":211},[216,294,295,298,301],{"class":218,"line":219},[216,296,297],{"class":230},"NUXT_BETTER_STACK_SOURCE_TOKEN",[216,299,300],{"class":226},"=",[216,302,303],{"class":243},"your-source-token-here\n",[252,305,307],{"id":306},"_3-create-the-drain-plugin","3. Create the drain plugin",[205,309,311],{"className":207,"code":310,"filename":209,"language":210,"meta":211,"style":211},"import { createBetterStackDrain } from 'evlog/better-stack'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createBetterStackDrain())\n})\n",[213,312,313,331,338,370,406],{"__ignoreMap":211},[216,314,315,317,319,321,323,325,327,329],{"class":218,"line":219},[216,316,223],{"class":222},[216,318,227],{"class":226},[216,320,231],{"class":230},[216,322,234],{"class":226},[216,324,237],{"class":222},[216,326,240],{"class":226},[216,328,244],{"class":243},[216,330,247],{"class":226},[216,332,334],{"class":218,"line":333},2,[216,335,337],{"emptyLinePlaceholder":336},true,"\n",[216,339,341,344,347,351,354,356,360,363,367],{"class":218,"line":340},3,[216,342,343],{"class":222},"export",[216,345,346],{"class":222}," default",[216,348,350],{"class":349},"s2Zo4"," defineNitroPlugin",[216,352,353],{"class":230},"(",[216,355,353],{"class":226},[216,357,359],{"class":358},"sHdIc","nitroApp",[216,361,362],{"class":226},")",[216,364,366],{"class":365},"spNyl"," =>",[216,368,369],{"class":226}," {\n",[216,371,373,376,379,382,384,387,390,393,396,398,401,403],{"class":218,"line":372},4,[216,374,375],{"class":230},"  nitroApp",[216,377,378],{"class":226},".",[216,380,381],{"class":230},"hooks",[216,383,378],{"class":226},[216,385,386],{"class":349},"hook",[216,388,353],{"class":389},"swJcz",[216,391,392],{"class":226},"'",[216,394,395],{"class":243},"evlog:drain",[216,397,392],{"class":226},[216,399,400],{"class":226},",",[216,402,231],{"class":349},[216,404,405],{"class":389},"())\n",[216,407,409,412],{"class":218,"line":408},5,[216,410,411],{"class":226},"}",[216,413,414],{"class":230},")\n",[188,416,417],{},"That's it! Your logs will now appear in Better Stack.",[198,419,421],{"id":420},"configuration","Configuration",[188,423,424],{},"The adapter reads configuration from multiple sources (highest priority first):",[257,426,427,436,445,452],{},[260,428,429,432,433],{},[271,430,431],{},"Overrides"," passed to ",[213,434,435],{},"createBetterStackDrain()",[260,437,438,441,442],{},[271,439,440],{},"Runtime config"," at ",[213,443,444],{},"runtimeConfig.evlog.betterStack",[260,446,447,441,449],{},[271,448,440],{},[213,450,451],{},"runtimeConfig.betterStack",[260,453,454,457,458,461,462,362],{},[271,455,456],{},"Environment variables"," (",[213,459,460],{},"NUXT_BETTER_STACK_*"," or ",[213,463,464],{},"BETTER_STACK_*",[252,466,468],{"id":467},"environment-variables","Environment Variables",[470,471,472,485],"table",{},[473,474,475],"thead",{},[476,477,478,482],"tr",{},[479,480,481],"th",{},"Variable",[479,483,484],{},"Description",[486,487,488,498],"tbody",{},[476,489,490,495],{},[491,492,493],"td",{},[213,494,297],{},[491,496,497],{},"Better Stack source token (required)",[476,499,500,505],{},[491,501,502],{},[213,503,504],{},"NUXT_BETTER_STACK_ENDPOINT",[491,506,507],{},"Custom ingestion endpoint",[188,509,510,511,514,515,518],{},"You can also use ",[213,512,513],{},"BETTER_STACK_SOURCE_TOKEN"," and ",[213,516,517],{},"BETTER_STACK_ENDPOINT"," as fallbacks.",[252,520,522],{"id":521},"runtime-config","Runtime Config",[188,524,525,526,529],{},"Configure via ",[213,527,528],{},"nuxt.config.ts"," for type-safe configuration:",[205,531,533],{"className":207,"code":532,"filename":528,"language":210,"meta":211,"style":211},"export default defineNuxtConfig({\n  runtimeConfig: {\n    betterStack: {\n      sourceToken: '', // Set via NUXT_BETTER_STACK_SOURCE_TOKEN\n    },\n  },\n})\n",[213,534,535,549,559,568,584,589,595],{"__ignoreMap":211},[216,536,537,539,541,544,546],{"class":218,"line":219},[216,538,343],{"class":222},[216,540,346],{"class":222},[216,542,543],{"class":349}," defineNuxtConfig",[216,545,353],{"class":230},[216,547,548],{"class":226},"{\n",[216,550,551,554,557],{"class":218,"line":333},[216,552,553],{"class":389},"  runtimeConfig",[216,555,556],{"class":226},":",[216,558,369],{"class":226},[216,560,561,564,566],{"class":218,"line":340},[216,562,563],{"class":389},"    betterStack",[216,565,556],{"class":226},[216,567,369],{"class":226},[216,569,570,573,575,578,580],{"class":218,"line":372},[216,571,572],{"class":389},"      sourceToken",[216,574,556],{"class":226},[216,576,577],{"class":226}," ''",[216,579,400],{"class":226},[216,581,583],{"class":582},"sHwdD"," // Set via NUXT_BETTER_STACK_SOURCE_TOKEN\n",[216,585,586],{"class":218,"line":408},[216,587,588],{"class":226},"    },\n",[216,590,592],{"class":218,"line":591},6,[216,593,594],{"class":226},"  },\n",[216,596,598,600],{"class":218,"line":597},7,[216,599,411],{"class":226},[216,601,414],{"class":230},[252,603,605],{"id":604},"override-options","Override Options",[188,607,608],{},"Pass options directly to override any configuration:",[205,610,612],{"className":207,"code":611,"filename":209,"language":210,"meta":211,"style":211},"import { createBetterStackDrain } from 'evlog/better-stack'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createBetterStackDrain({\n    sourceToken: 'my-token',\n    timeout: 10000, // 10 seconds\n  }))\n})\n",[213,613,614,632,636,656,684,701,717,725],{"__ignoreMap":211},[216,615,616,618,620,622,624,626,628,630],{"class":218,"line":219},[216,617,223],{"class":222},[216,619,227],{"class":226},[216,621,231],{"class":230},[216,623,234],{"class":226},[216,625,237],{"class":222},[216,627,240],{"class":226},[216,629,244],{"class":243},[216,631,247],{"class":226},[216,633,634],{"class":218,"line":333},[216,635,337],{"emptyLinePlaceholder":336},[216,637,638,640,642,644,646,648,650,652,654],{"class":218,"line":340},[216,639,343],{"class":222},[216,641,346],{"class":222},[216,643,350],{"class":349},[216,645,353],{"class":230},[216,647,353],{"class":226},[216,649,359],{"class":358},[216,651,362],{"class":226},[216,653,366],{"class":365},[216,655,369],{"class":226},[216,657,658,660,662,664,666,668,670,672,674,676,678,680,682],{"class":218,"line":372},[216,659,375],{"class":230},[216,661,378],{"class":226},[216,663,381],{"class":230},[216,665,378],{"class":226},[216,667,386],{"class":349},[216,669,353],{"class":389},[216,671,392],{"class":226},[216,673,395],{"class":243},[216,675,392],{"class":226},[216,677,400],{"class":226},[216,679,231],{"class":349},[216,681,353],{"class":389},[216,683,548],{"class":226},[216,685,686,689,691,693,696,698],{"class":218,"line":408},[216,687,688],{"class":389},"    sourceToken",[216,690,556],{"class":226},[216,692,240],{"class":226},[216,694,695],{"class":243},"my-token",[216,697,392],{"class":226},[216,699,700],{"class":226},",\n",[216,702,703,706,708,712,714],{"class":218,"line":591},[216,704,705],{"class":389},"    timeout",[216,707,556],{"class":226},[216,709,711],{"class":710},"sbssI"," 10000",[216,713,400],{"class":226},[216,715,716],{"class":582}," // 10 seconds\n",[216,718,719,722],{"class":218,"line":597},[216,720,721],{"class":226},"  }",[216,723,724],{"class":389},"))\n",[216,726,728,730],{"class":218,"line":727},8,[216,729,411],{"class":226},[216,731,414],{"class":230},[252,733,735],{"id":734},"full-configuration-reference","Full Configuration Reference",[470,737,738,753],{},[473,739,740],{},[476,741,742,745,748,751],{},[479,743,744],{},"Option",[479,746,747],{},"Type",[479,749,750],{},"Default",[479,752,484],{},[486,754,755,772,791],{},[476,756,757,762,767,770],{},[491,758,759],{},[213,760,761],{},"sourceToken",[491,763,764],{},[213,765,766],{},"string",[491,768,769],{},"-",[491,771,497],{},[476,773,774,779,783,788],{},[491,775,776],{},[213,777,778],{},"endpoint",[491,780,781],{},[213,782,766],{},[491,784,785],{},[213,786,787],{},"https://in.logs.betterstack.com",[491,789,790],{},"Ingestion endpoint",[476,792,793,798,803,808],{},[491,794,795],{},[213,796,797],{},"timeout",[491,799,800],{},[213,801,802],{},"number",[491,804,805],{},[213,806,807],{},"5000",[491,809,810],{},"Request timeout in milliseconds",[198,812,814],{"id":813},"log-transformation","Log Transformation",[188,816,817,818,556],{},"evlog wide events are transformed using ",[213,819,820],{},"toBetterStackEvent()",[822,823,824,838],"ul",{},[260,825,826,829,830,833,834,837],{},[271,827,828],{},"Timestamp",": ",[213,831,832],{},"timestamp"," is mapped to ",[213,835,836],{},"dt"," (Better Stack's expected ISO-8601 timestamp field)",[260,839,840,843],{},[271,841,842],{},"All other fields",": Spread as-is into the event body",[188,845,846],{},"Better Stack accepts arbitrary JSON fields, so all your wide event context (level, service, action, user data, etc.) is automatically searchable.",[198,848,850],{"id":849},"querying-logs-in-better-stack","Querying Logs in Better Stack",[188,852,853],{},"Better Stack provides a powerful log search interface:",[822,855,856,862,868,882,888],{},[260,857,858,861],{},[271,859,860],{},"Live tail",": Stream logs in real time",[260,863,864,867],{},[271,865,866],{},"Full-text search",": Search across all fields",[260,869,870,873,874,877,878,881],{},[271,871,872],{},"Structured queries",": Filter by ",[213,875,876],{},"level:error",", ",[213,879,880],{},"service:my-app",", or any wide event field",[260,883,884,887],{},[271,885,886],{},"Dashboards",": Create custom dashboards from your wide event data",[260,889,890,893],{},[271,891,892],{},"Alerts",": Set up alerts based on log patterns or thresholds",[198,895,897],{"id":896},"troubleshooting","Troubleshooting",[252,899,901],{"id":900},"missing-source-token-error","Missing source token error",[205,903,908],{"className":904,"code":906,"language":907},[905],"language-text","[evlog/better-stack] Missing source token. Set NUXT_BETTER_STACK_SOURCE_TOKEN env var or pass to createBetterStackDrain()\n","text",[213,909,906],{"__ignoreMap":211},[188,911,912],{},"Make sure your environment variable is set and the server was restarted after adding it.",[252,914,916],{"id":915},"_401-unauthorized","401 Unauthorized",[188,918,919,920,922],{},"Your source token may be invalid or revoked. Generate a new source token in ",[271,921,273],{}," in the Better Stack dashboard.",[252,924,926],{"id":925},"_403-forbidden","403 Forbidden",[188,928,929],{},"The source may be archived or deleted. Create a new source in Better Stack.",[198,931,933],{"id":932},"direct-api-usage","Direct API Usage",[188,935,936],{},"For advanced use cases, you can use the lower-level functions:",[205,938,941],{"className":207,"code":939,"filename":940,"language":210,"meta":211,"style":211},"import { sendToBetterStack, sendBatchToBetterStack } from 'evlog/better-stack'\n\n// Send a single event\nawait sendToBetterStack(event, {\n  sourceToken: process.env.BETTER_STACK_SOURCE_TOKEN!,\n})\n\n// Send multiple events in one request\nawait sendBatchToBetterStack(events, {\n  sourceToken: process.env.BETTER_STACK_SOURCE_TOKEN!,\n})\n","server/utils/better-stack.ts",[213,942,943,967,971,976,990,1012,1018,1022,1027,1041,1060],{"__ignoreMap":211},[216,944,945,947,949,952,954,957,959,961,963,965],{"class":218,"line":219},[216,946,223],{"class":222},[216,948,227],{"class":226},[216,950,951],{"class":230}," sendToBetterStack",[216,953,400],{"class":226},[216,955,956],{"class":230}," sendBatchToBetterStack",[216,958,234],{"class":226},[216,960,237],{"class":222},[216,962,240],{"class":226},[216,964,244],{"class":243},[216,966,247],{"class":226},[216,968,969],{"class":218,"line":333},[216,970,337],{"emptyLinePlaceholder":336},[216,972,973],{"class":218,"line":340},[216,974,975],{"class":582},"// Send a single event\n",[216,977,978,981,983,986,988],{"class":218,"line":372},[216,979,980],{"class":222},"await",[216,982,951],{"class":349},[216,984,985],{"class":230},"(event",[216,987,400],{"class":226},[216,989,369],{"class":226},[216,991,992,995,997,1000,1002,1005,1007,1009],{"class":218,"line":408},[216,993,994],{"class":389},"  sourceToken",[216,996,556],{"class":226},[216,998,999],{"class":230}," process",[216,1001,378],{"class":226},[216,1003,1004],{"class":230},"env",[216,1006,378],{"class":226},[216,1008,513],{"class":230},[216,1010,1011],{"class":226},"!,\n",[216,1013,1014,1016],{"class":218,"line":591},[216,1015,411],{"class":226},[216,1017,414],{"class":230},[216,1019,1020],{"class":218,"line":597},[216,1021,337],{"emptyLinePlaceholder":336},[216,1023,1024],{"class":218,"line":727},[216,1025,1026],{"class":582},"// Send multiple events in one request\n",[216,1028,1030,1032,1034,1037,1039],{"class":218,"line":1029},9,[216,1031,980],{"class":222},[216,1033,956],{"class":349},[216,1035,1036],{"class":230},"(events",[216,1038,400],{"class":226},[216,1040,369],{"class":226},[216,1042,1044,1046,1048,1050,1052,1054,1056,1058],{"class":218,"line":1043},10,[216,1045,994],{"class":389},[216,1047,556],{"class":226},[216,1049,999],{"class":230},[216,1051,378],{"class":226},[216,1053,1004],{"class":230},[216,1055,378],{"class":226},[216,1057,513],{"class":230},[216,1059,1011],{"class":226},[216,1061,1063,1065],{"class":218,"line":1062},11,[216,1064,411],{"class":226},[216,1066,414],{"class":230},[198,1068,1070],{"id":1069},"next-steps","Next Steps",[822,1072,1073,1079,1085],{},[260,1074,1075,1078],{},[191,1076,1077],{"href":67},"Axiom Adapter"," - Send logs to Axiom for querying and dashboards",[260,1080,1081,1084],{},[191,1082,1083],{"href":72},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[260,1086,1087,1089],{},[191,1088,91],{"href":92}," - Build your own adapter",[1091,1092,1093],"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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":211,"searchDepth":333,"depth":333,"links":1095},[1096,1097,1102,1108,1109,1110,1115,1116],{"id":200,"depth":333,"text":15},{"id":250,"depth":333,"text":20,"children":1098},[1099,1100,1101],{"id":254,"depth":340,"text":255},{"id":283,"depth":340,"text":284},{"id":306,"depth":340,"text":307},{"id":420,"depth":333,"text":421,"children":1103},[1104,1105,1106,1107],{"id":467,"depth":340,"text":468},{"id":521,"depth":340,"text":522},{"id":604,"depth":340,"text":605},{"id":734,"depth":340,"text":735},{"id":813,"depth":333,"text":814},{"id":849,"depth":333,"text":850},{"id":896,"depth":333,"text":897,"children":1111},[1112,1113,1114],{"id":900,"depth":340,"text":901},{"id":915,"depth":340,"text":916},{"id":925,"depth":340,"text":926},{"id":932,"depth":333,"text":933},{"id":1069,"depth":333,"text":1070},"Send wide events to Better Stack (formerly Logtail) for log management, alerting, and dashboards. Zero-config setup with environment variables.","md",[1120,1127],{"label":1121,"icon":1122,"to":1123,"target":1124,"color":1125,"variant":1126},"Better Stack Dashboard","i-lucide-external-link","https://logs.betterstack.com","_blank","neutral","subtle",{"label":1077,"icon":69,"to":67,"color":1125,"variant":1126},{},{"title":86,"icon":89},{"title":183,"description":1117},"S7mWCCBFf3Ojvvg3vHvuvh0suaF7Vfu4VarN2simNwI",[1133,1135],{"title":81,"path":82,"stem":83,"description":1134,"icon":84,"children":-1},"Send structured logs to Sentry Logs for high-cardinality querying and debugging. Zero-config setup with environment variables.",{"title":91,"path":92,"stem":93,"description":1136,"icon":94,"children":-1},"Build your own adapter to send logs to any destination. Factory patterns, batching, filtering, and error handling best practices.",1772900819245]