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