@squasher-ai/winston
v0.1.1
Published
Squasher transport for Winston logger
Maintainers
Readme
@squasher-ai/winston
Winston transport for sending logs to Squasher.
Install
npm install @squasher-ai/winston winstonUsage
import winston from "winston";
import { SquasherTransport } from "@squasher-ai/winston";
const squasherTransport = new SquasherTransport({
apiKey: process.env.SQUASHER_API_KEY ?? "",
projectId: process.env.SQUASHER_PROJECT_ID ?? "",
endpoint: "https://ingest.squasher.ai",
level: "error",
});
const logger = winston.createLogger({
format: winston.format.combine(winston.format.timestamp(), winston.format.metadata()),
transports: [new winston.transports.Console(), squasherTransport],
});
logger.error("Database connection failed", {
requestId: "req-123",
host: "db-primary",
});
await squasherTransport.close();Notes
- Sends events to
POST /v1/ingest/{projectId}with thex-squasher-keyheader. - Payload shape:
message,level,timestamp,tags.transport = "winston", andextra. - If
info.metadataexists it is used forextra; otherwise extra Winston fields are forwarded. - Queued events are batched and flushed automatically on
beforeExit, or manually withclose().
