@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.
25 lines (24 loc) • 1.19 kB
JavaScript
import ConsoleLogger from "./console";
export default function (apiId, config) {
if (!(config === null || config === void 0 ? void 0 : config.debug)) {
return undefined;
}
var logger = (config === null || config === void 0 ? void 0 : config.logger) ? config.logger : new ConsoleLogger("bbg-market-data", { logLevel: config === null || config === void 0 ? void 0 : config.logLevel });
var messagePrefix = "_" + apiId + "_";
var logWithMessagePrefix = function (logFn) { return function (message) {
return logFn("[" + messagePrefix + "] " + message);
}; };
return {
trace: logWithMessagePrefix(logger.trace.bind(logger)),
debug: logWithMessagePrefix(logger.debug.bind(logger)),
info: logWithMessagePrefix(logger.info.bind(logger)),
log: logWithMessagePrefix(logger.log.bind(logger)),
warn: logWithMessagePrefix(logger.warn.bind(logger)),
error: function (message) {
if (message instanceof Error) {
message = message.message + "\n" + message.stack;
}
logWithMessagePrefix(logger.error.bind(logger))(message);
},
};
}