UNPKG

@glue42/bbg-market-data

Version:

A high-level API that wraps existing Glue42 Bloomberg Bridge Market Data interop methods. The API is based on the jBloomberg open source wrapper.

66 lines (65 loc) 2.41 kB
var ConsoleLogger = (function () { function ConsoleLogger(name, options) { this.name = name; this.options = options; } ConsoleLogger.prototype.trace = function (message) { this.logFn(message, "trace"); }; ConsoleLogger.prototype.debug = function (message) { this.logFn(message, "debug"); }; ConsoleLogger.prototype.info = function (message) { this.logFn(message, "info"); }; ConsoleLogger.prototype.log = function (message) { this.logFn(message, "log"); }; ConsoleLogger.prototype.warn = function (message) { this.logFn(message, "warn"); }; ConsoleLogger.prototype.error = function (message) { if (message instanceof Error) { message = message.message + "\n" + message.stack; } this.logFn(message, "error"); }; ConsoleLogger.prototype.logFn = function (message, level) { var logLevelsInOrder = ["trace", "debug", "log", "info", "warn", "error"]; var logLevel = logLevelsInOrder.includes(this.options.logLevel) ? this.options.logLevel : "info"; var levelIdx = logLevelsInOrder.indexOf(level); var restrictionIdx = logLevelsInOrder.indexOf(logLevel); var canLog = levelIdx >= restrictionIdx; if (!canLog) { return; } var date = new Date(); var time = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + ":" + date.getMilliseconds(); var loggerName = this.name ? "[" + String(this.name) + "] " : ""; var prefix = "[" + time + "] [" + level + "] " + loggerName; switch (level) { case "log": console.log(prefix, message); break; case "info": console.info(prefix, message); break; case "debug": console.debug(prefix, message); break; case "trace": console.log(prefix, message); break; case "warn": console.warn(prefix, message); break; case "error": console.error(prefix, message); break; default: break; } }; return ConsoleLogger; }()); export default ConsoleLogger;