Skip to main content

AdvancedRollingFileTransporter

@abimongo/logger


Class: AdvancedRollingFileTransporter

Defined in: transports/AdvancedRollingFileTransporter.ts:46

  • AdvancedRollingFileTransporter

A logging transporter that writes log messages to a file with advanced rolling features. Logs can be rotated based on file size or time intervals (daily/hourly). Supports compression of old log files and maintains a specified number of backup files. Also includes a buffering mechanism to optimize write operations and periodic flushing.

Example​

const transporter = new AdvancedRollingFileTransporter({
filename: 'logs/app.log',
maxSize: 10 * 1024 * 1024, // 10 MB
backupCount: 7,
frequency: 'daily',
compress: true,
flushInterval: 5000, // Flush every 5 seconds
});

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

Constructors​

Constructor​

new AdvancedRollingFileTransporter(options): AdvancedRollingFileTransporter

Defined in: transports/AdvancedRollingFileTransporter.ts:54

Parameters​

options​

RollingFileOptions

Returns​

AdvancedRollingFileTransporter

Methods​

close()​

close(): Promise<void>

Defined in: transports/AdvancedRollingFileTransporter.ts:230

Returns​

Promise<void>


ensureDirectoryExists()​

ensureDirectoryExists(): void

Defined in: transports/AdvancedRollingFileTransporter.ts:219

Returns​

void


flush()​

flush(): Promise<void>

Defined in: transports/AdvancedRollingFileTransporter.ts:181

Returns​

Promise<void>


getLogDirectory()​

getLogDirectory(): string

Defined in: transports/AdvancedRollingFileTransporter.ts:227

Returns​

string


write()​

write(message, _level?): Promise<void>

Defined in: transports/AdvancedRollingFileTransporter.ts:166

Parameters​

message​

string

_level?​

LogLevel

Returns​

Promise<void>