Skip to main content

AsyncBatchTransporter

@abimongo/logger


Class: AsyncBatchTransporter

Defined in: transports/async-batch.transporter.ts:29

AsyncBatchTransporter

A logging transporter that batches log messages and sends them asynchronously. It collects log entries in a buffer and sends them in batches based on a specified size or time interval. This approach optimizes performance by reducing the number of individual log write operations.

Example​

const transporter = new AsyncBatchTransporter({
batchSize: 20, // Send logs in batches of 20
flushInterval: 3000, // or every 3 seconds
sendBatch: async (entries) => {
// Custom logic to send log entries, e.g., to a remote server
await sendLogsToServer(entries);
},
});

transporter.log('info', 'This is a log message', { userId: 123 });
await transporter.flush(); // Manually flush if needed
transporter.stop(); // Stop the transporter when done

Constructors​

Constructor​

new AsyncBatchTransporter(options): AsyncBatchTransporter

Defined in: transports/async-batch.transporter.ts:37

Parameters​

options​

AsyncBatchTransporterOptions & object

Returns​

AsyncBatchTransporter

Methods​

flush()​

flush(): Promise<void>

Defined in: transports/async-batch.transporter.ts:62

Returns​

Promise<void>


log()​

log(level, message, meta): void

Defined in: transports/async-batch.transporter.ts:46

Parameters​

level​

LogLevel

message​

string

meta​

any[]

Returns​

void


stop()​

stop(): void

Defined in: transports/async-batch.transporter.ts:78

Returns​

void