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