UNPKG

@harvve/tslog-mongodb-transport

Version:

The library allows logs to be stored in the mongodb timeseries collection

44 lines (43 loc) 1.35 kB
import { ILogObject, TTransportOptions } from './types'; /** * The Transporter class * * @description It allows logs to be saved in the mongodb timeseries collection. * * @example * // short example * import { Db, MongoClient } from 'mongodb'; * import { Transporter } from '@harvve/tslog-mongodb-transport'; * import { Logger } from 'tslog'; * * async function main() { * const client = await new MongoClient('mongodb://localhost:27017').connect(); * const mongodbTransporter = new Transporter({ db: client.db('logs_db') }); * const logger = new Logger({ argumentsArrayName: 'argumentsArray', // default key name used by Transporter metaProperty: 'metadata', // default key name used by Transporter attachedTransports: [mongodbTransporter.transport.bind(mongodbTransporter)] }); * logger.info('Hello'); * } */ export declare class Transporter { private readonly baseConfig; private config; private collection; private bucket; private checks; private timer; constructor(config: TTransportOptions); /** * Transport method * * @description transports logs to mongodb */ transport(data: ILogObject): Promise<void>; private rollingUpdate; private prepareData; private writeData; private crateCollection; private getCollectionMetadata; }