UNPKG

typescript-logging

Version:

Library for logging, written in typescript, can be used by normal es5+ javascript as well.

77 lines 3.09 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var AbstractLogger_1 = require("./AbstractLogger"); var LoggerOptions_1 = require("../LoggerOptions"); /** * Simple logger, that logs to the console. If the console is unavailable will throw exception. */ var ConsoleLoggerImpl = (function (_super) { __extends(ConsoleLoggerImpl, _super); function ConsoleLoggerImpl(name, logGroupRuntimeSettings) { return _super.call(this, name, logGroupRuntimeSettings) || this; } ConsoleLoggerImpl.prototype.doLog = function (message) { if (console !== undefined) { var logged = false; var logLevel = message.level; var messageFormatter = this._getMessageFormatter(); var msg = void 0; if (messageFormatter === null) { msg = this.createDefaultLogMessage(message); } else { msg = messageFormatter(message); } /* tslint:disable:no-console */ switch (logLevel) { case LoggerOptions_1.LogLevel.Trace: // Do not try trace we don't want a stack break; case LoggerOptions_1.LogLevel.Debug: // Don't try, too much differences of consoles. break; case LoggerOptions_1.LogLevel.Info: if (console.info) { console.info(msg); logged = true; } break; case LoggerOptions_1.LogLevel.Warn: if (console.warn) { console.warn(msg); logged = true; } break; case LoggerOptions_1.LogLevel.Error: case LoggerOptions_1.LogLevel.Fatal: if (console.error) { console.error(msg); logged = true; } break; default: throw new Error("Log level not supported: " + logLevel); } if (!logged) { console.log(msg); } /* tslint:enable:no-console */ } else { throw new Error("Console is not defined, cannot log msg: " + message.message); } }; return ConsoleLoggerImpl; }(AbstractLogger_1.AbstractLogger)); exports.ConsoleLoggerImpl = ConsoleLoggerImpl; //# sourceMappingURL=ConsoleLoggerImpl.js.map