Skip to main content

AbimongoLogger

@abimongo/logger


Class: AbimongoLogger

Defined in: logger/logger.ts:43

AbimongoLogger is a custom logger that supports multiple tenants, file-based logging with daily rotation, and metrics tracking. It can log messages in both JSON and text formats.

Example​

const logger = new AbimongoLogger({
format: 'json', // or 'text'
baseLogPath: '/var/logs/abimongo',
streamToRedis: true,
redisUrl: 'redis://localhost:6379',
flushInterval: 2000, // flush logs every 2 seconds
flushSize: 20, // flush after 20 log entries
});
* logger.log('This is a log message', 'info', { tenantId: 'tenant1' });
* logger.log('This is an error message', 'error', { tenantId: 'tenant2' });

Constructors​

Constructor​

new AbimongoLogger(options): AbimongoLogger

Defined in: logger/logger.ts:48

Parameters​

options​

LoggerOptions = {}

Returns​

AbimongoLogger

Methods​

close()​

close(): Promise<void>

Defined in: logger/logger.ts:141

Returns​

Promise<void>


flushAll()​

flushAll(): Promise<void>

Defined in: logger/logger.ts:125

Returns​

Promise<void>


getMetrics()​

getMetrics(): MetricsTracker

Defined in: logger/logger.ts:158

Returns​

MetricsTracker


log()​

log(message, level, meta): Promise<void>

Defined in: logger/logger.ts:69

Logs a message with the specified level and metadata.

Parameters​

message​

string

The message to log.

level​

LogLevel = 'info'

The log level (default: 'info').

meta​

LogMeta = {}

Additional metadata for the log entry.

Returns​

Promise<void>


shutdown()​

shutdown(): Promise<void>

Defined in: logger/logger.ts:150

Returns​

Promise<void>


startTrackingMetrics()​

startTrackingMetrics(interval): MetricsTracker

Defined in: logger/logger.ts:131

Parameters​

interval​

number = 60000

Returns​

MetricsTracker


stopTrackingMetrics()​

stopTrackingMetrics(): void

Defined in: logger/logger.ts:136

Returns​

void