UNPKG

flexmonster-mongo-connector

Version:

Custom data source API implementation for MongoDB

31 lines (24 loc) 961 B
import { ILogger } from "./ILogger"; import { FlexmonsterLogger } from "./FlexmonsterLogger"; export class LoggingManager { private _isEnabled: boolean; private logger: ILogger; private static instance: LoggingManager = undefined; constructor(isEnabled: boolean) { this._isEnabled = isEnabled; if (this._isEnabled) this.logger = this.getSupportedLoggers(); if (typeof LoggingManager.instance !== "undefined") throw new Error("Initialization failed: "+ "use Singleton.getInstance() instead of new."); LoggingManager.instance = this; } public static log(...args: any[]): void { if (!LoggingManager.instance._isEnabled) return; LoggingManager.instance.logger.log(...args); } public isLogsEnabled(): boolean { return this._isEnabled; } private getSupportedLoggers(): ILogger { return new FlexmonsterLogger(); } }