Skip to main content

BufferedTransporter

@abimongo/logger


Class: BufferedTransporter

Defined in: transports/buffered.transporter.ts:30

BufferedTransporter

A logging transporter that buffers log messages and flushes them to an underlying transporter at specified intervals or when the buffer reaches a certain size. This helps to optimize performance by reducing the number of individual write operations.

Example​

const fileTransporter = new FileTransporter({ filename: 'logs/app.log' });
const bufferedTransporter = new BufferedTransporter(fileTransporter, {
flushInterval: 5000, // Flush every 5 seconds
flushSize: 20, // or when buffer reaches 20 entries
});

await bufferedTransporter.write('This is a log message', 'info');
await bufferedTransporter.flush(); // Manually flush if needed
await bufferedTransporter.stop(); // Stop the transporter when done

Implements​

Constructors​

Constructor​

new BufferedTransporter(transporter, options?): BufferedTransporter

Defined in: transports/buffered.transporter.ts:37

Parameters​

transporter​

Transporter

options?​
flushInterval?​

number

flushSize?​

number

Returns​

BufferedTransporter

Methods​

flush()​

flush(): Promise<void>

Defined in: transports/buffered.transporter.ts:62

Returns​

Promise<void>

Implementation of​

Transporter.flush


stop()​

stop(): Promise<void>

Defined in: transports/buffered.transporter.ts:107

Returns​

Promise<void>


write()​

write(message, level?, meta?): Promise<void>

Defined in: transports/buffered.transporter.ts:48

Parameters​

message​

string

level?​

string

meta?​

any[]

Returns​

Promise<void>

Implementation of​

Transporter.write