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