@harvve/tslog-mongodb-transport
Version:
The library allows logs to be stored in the mongodb timeseries collection
44 lines (43 loc) • 1.35 kB
TypeScript
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;
}