UNPKG

@miracledevs/paradigm-express-webapi

Version:

An easy to use MVC WebApi implementation over Express.

66 lines 2.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; const log_type_1 = require("./log-type"); const console_log_provider_1 = require("./console-log-provider"); class Logger { constructor() { this._minimumLogLevel = log_type_1.LogType.Info; this._logProvider = new console_log_provider_1.ConsoleLogProvider(); this._messageFormat = "[{date}][{type}] - {message}"; } setMinimumLevel(type) { this._minimumLogLevel = type; } setLogProvider(logProvider) { this._logProvider = logProvider; } setMessageFormat(messageFormat) { this._messageFormat = messageFormat; } trace(message) { this.log(message, log_type_1.LogType.Trace); } debug(message) { this.log(message, log_type_1.LogType.Debug); } info(message) { this.log(message, log_type_1.LogType.Info); } warning(message) { this.log(message, log_type_1.LogType.Warning); } error(message) { this.log(message, log_type_1.LogType.Error); } log(message, type) { if (type < this._minimumLogLevel) { return; } message = this._messageFormat .replace(/\{date\}/g, new Date().toJSON()) .replace(/\{type\}/g, log_type_1.LogType[type]) .replace(/\{message\}/g, message); switch (type) { case log_type_1.LogType.Trace: this._logProvider.trace(message); break; case log_type_1.LogType.Debug: this._logProvider.debug(message); break; case log_type_1.LogType.Info: this._logProvider.info(message); break; case log_type_1.LogType.Warning: this._logProvider.warning(message); break; case log_type_1.LogType.Error: this._logProvider.error(message); break; default: throw new Error("The log type is not valid."); } } } exports.Logger = Logger; //# sourceMappingURL=logger.js.map