{"_id":"@caravan-logger/transport-better-stack","_rev":"6-2d06f896e8f3d898d2ef90206951fa5f","name":"@caravan-logger/transport-better-stack","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@caravan-logger/transport-better-stack","version":"1.0.0","author":"Carlos Menezes <carlos.dm.menezes@gmail.com>","license":"MIT","_id":"@caravan-logger/transport-better-stack@1.0.0","maintainers":[{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"}],"dist":{"shasum":"6770f5c193cb746868f5a4668ffd63e371e213dc","tarball":"https://registry.npmjs.org/@caravan-logger/transport-better-stack/-/transport-better-stack-1.0.0.tgz","fileCount":10,"integrity":"sha512-iwy2wd5aXww0VDQjxDKU0xUtQWyTY7A8G0+rj70/3P/XRrgvweZNcLZN0TNbtRMkY7tzml8QOTta5c93nFhSTQ==","signatures":[{"sig":"MEQCIGMzBjc0bpzQfs9cQKPfhnVJOAgZPy3qwVbPey7AwGUuAiB91Q9Y5r84ej3DHpfHsehMwVN16yfSLHBa1ESDv+waAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379967},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest --run","build":"rolldown -c rolldown.config.ts && tsc -p tsconfig.json"},"_npmUser":{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"},"deprecated":"this package has been deprecated","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","rolldown":"^1.2.5","typescript":"^7.0.2","@types/node":"^26.2.0","@caravan-logger/logger":"1.0.0","@packages/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/transport-better-stack_1.0.0_1787875322497_0.6525745306978485","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@caravan-logger/transport-better-stack","version":"1.0.1","author":"Carlos Menezes <carlos.dm.menezes@gmail.com>","license":"MIT","_id":"@caravan-logger/transport-better-stack@1.0.1","maintainers":[{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"}],"dist":{"shasum":"d1d46d48cfa452f2c90d80e4c3d1a87b069c4cb0","tarball":"https://registry.npmjs.org/@caravan-logger/transport-better-stack/-/transport-better-stack-1.0.1.tgz","fileCount":5,"integrity":"sha512-WaVZK2Uw+Zg17i1L1d/tGw1geiWZIizyp7czvw6zga7IY9CSI62VXc1m+h2wYdsyO8wVdTDiSaPryeiXbQwPJg==","signatures":[{"sig":"MEUCIQCoPkh5zoHJUoeSO9/FbqTfAf/33aBiugnW6CVaeaTeyAIgToE4Y8BPH7W7bR+T8CMz6udgFWM1OXr6bGaAg60tUSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7731},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest --run","build":"rolldown -c rolldown.config.ts && tsc -p tsconfig.json"},"_npmUser":{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"},"deprecated":"this package has been deprecated","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","rolldown":"^1.2.5","typescript":"^7.0.2","@types/node":"^26.2.0","@caravan-logger/logger":"1.0.1","@packages/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/transport-better-stack_1.0.1_1787876445792_0.917244572777481","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@caravan-logger/transport-better-stack","version":"1.0.2","author":"Carlos Menezes <carlos.dm.menezes@gmail.com>","license":"MIT","_id":"@caravan-logger/transport-better-stack@1.0.2","maintainers":[{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"}],"dist":{"shasum":"7ad3527ec0f9e18ee7703f6650d74006e46fe4d3","tarball":"https://registry.npmjs.org/@caravan-logger/transport-better-stack/-/transport-better-stack-1.0.2.tgz","fileCount":5,"integrity":"sha512-oKBxo3zBrZiqc6GqQmYV3juJKfFbMuV8//DDwl58IFJzSGgwRxEgP9tn2ssmGKEcVaamzjnjPuOQCygo572yaQ==","signatures":[{"sig":"MEQCIEDKbDo9Uc7PPY9GQYp8RDOyj/RUCiRNGbdXNVDZf1/PAiBvZMl2MsubjX3IEJGaFV9fqcFpQVovxsZa6NftVcTcuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7755},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest --run","build":"rolldown -c rolldown.config.ts && tsc -p tsconfig.json"},"_npmUser":{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"},"directories":{},"_nodeVersion":"24.14.1","dependencies":{"@caravan-logger/logger":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","rolldown":"^1.2.5","typescript":"^7.0.2","@types/node":"^26.2.0","@packages/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/transport-better-stack_1.0.2_1787877375376_0.8669871004711684","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@caravan-logger/transport-better-stack","version":"1.0.3","license":"MIT","author":"Carlos Menezes <carlos.dm.menezes@gmail.com>","type":"module","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"dependencies":{"@caravan-logger/logger":"1.1.0"},"devDependencies":{"@types/node":"^26.2.0","rolldown":"^1.2.5","typescript":"^7.0.2","vitest":"^4.1.11","@packages/typescript-config":"0.0.0"},"scripts":{"build":"rolldown -c rolldown.config.ts && tsc -p tsconfig.json","test":"vitest --run"},"_nodeVersion":"24.14.1","_id":"@caravan-logger/transport-better-stack@1.0.3","dist":{"integrity":"sha512-9bvYJfQRu93D7YKIfgkeCduykC91h9SbcBc0c0Ec9A0PqhZw3IGYvZAEHwUyzfGMYlqqMkZCPKJEqijtPH5DGg==","shasum":"84725ca23ad946b1a51bd3f630ae5fedc93d52cc","tarball":"https://registry.npmjs.org/@caravan-logger/transport-better-stack/-/transport-better-stack-1.0.3.tgz","fileCount":5,"unpackedSize":7843,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCOvOsnE6JqbVqmoSHJgQi1wmIPCLXe4hG23YC96WtiqwIgcZB6opVxOgMWc9K+soDyYCyoh/Gykzlw7BH4OYDH14E="}]},"_npmUser":{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"},"directories":{},"maintainers":[{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/transport-better-stack_1.0.3_1788035216222_0.7217938510212563"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-28T00:02:02.038Z","modified":"2026-08-29T20:26:56.569Z","1.0.0":"2026-08-28T00:02:02.722Z","1.0.1":"2026-08-28T00:20:45.950Z","1.0.2":"2026-08-28T00:36:15.520Z","1.0.3":"2026-08-29T20:26:56.364Z"},"author":"Carlos Menezes <carlos.dm.menezes@gmail.com>","license":"MIT","maintainers":[{"name":"carlos-menezes","email":"carlos-menezes212@hotmail.com"}],"readme":"# @caravan-logger/transport-better-stack\n\n![NPM Version](https://img.shields.io/npm/v/%40caravan-logger%2Ftransport-better-stack) ![NPM Downloads](https://img.shields.io/npm/dw/%40caravan-logger%2Ftransport-better-stack?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/min/%40caravan-logger%2Ftransport-better-stack?style=flat-square)\n\nA [Caravan](../../README.md) transport that sends log records to\n[Better Stack's Logs ingesting API](https://betterstack.com/docs/logs/http-rest-api/).\n\n## Install\n\n```sh\npnpm add @caravan-logger/transport-better-stack\n```\n\n## Usage\n\n```ts\nimport { createLogger } from \"@caravan-logger/logger\";\nimport { createBetterStackTransport } from \"@caravan-logger/transport-better-stack\";\n\nconst logger = createLogger(\"app\", {\n  transports: [\n    createBetterStackTransport({\n      sourceToken: process.env.BETTER_STACK_SOURCE_TOKEN!,\n      endpoint: process.env.BETTER_STACK_INGESTING_HOST!,\n    }),\n  ],\n});\n\nlogger.info(\"server started\", { port: 3000 });\nawait logger.flush();\n```\n\n![](./.repo/header.png)\n\n## Options\n\n| Option          | Type                                              | Default                      | Description                                                                                         |\n| --------------- | ------------------------------------------------- | ---------------------------- | --------------------------------------------------------------------------------------------------- |\n| `sourceToken`   | `string`                                          | —                            | Better Stack source token (required).                                                               |\n| `endpoint`      | `string`                                          | —                            | Ingesting host for the source (required). Each source has its own host, found on the source's page. |\n| `format`        | `(record: TLogRecord) => Record<string, unknown>` | default Better Stack mapping | Overrides how a record is mapped to a Better Stack log entry.                                       |\n| `batchSize`     | `number`                                          | `1`                          | Number of records buffered before a batch is sent.                                                  |\n| `flushInterval` | `number`                                          | —                            | Interval (ms) at which buffered records are sent regardless of `batchSize`.                         |\n| `fetch`         | `typeof fetch`                                    | global `fetch`               | Fetch implementation used to call the ingesting API.                                                |\n| `level`         | `TDefaultLevels`                                  | inherits the logger's level  | Drops records below this level before `write()` runs.                                               |\n","readmeFilename":""}