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>