AbimongoLogger
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
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
stopTrackingMetrics()
stopTrackingMetrics():
void
Defined in: logger/logger.ts:136
Returns
void