UNPKG

postchain-client

Version:

Client library for accessing a Postchain node through REST.

108 lines 3.16 kB
var _a; var MsgType; (function (MsgType) { MsgType["Debug"] = "DEBUG"; MsgType["Info"] = "INFO"; MsgType["Error"] = "ERROR"; MsgType["Warning"] = "WARNING"; })(MsgType || (MsgType = {})); var LogColor; (function (LogColor) { LogColor["Red"] = "\u001B[91m"; LogColor["Green"] = "\u001B[92m"; LogColor["Blue"] = "\u001B[36m"; LogColor["Yellow"] = "\u001B[93m"; LogColor["StopColor"] = "\u001B[0m"; })(LogColor || (LogColor = {})); export var LogLevel; (function (LogLevel) { LogLevel["Debug"] = "DEBUG"; LogLevel["Info"] = "INFO"; LogLevel["Error"] = "ERROR"; LogLevel["Warning"] = "WARNING"; LogLevel["Disabled"] = "DISABLED"; })(LogLevel || (LogLevel = {})); const logLevelMap = { [LogLevel.Warning]: 1, [LogLevel.Info]: 2, [LogLevel.Debug]: 3, [LogLevel.Error]: 0, [LogLevel.Disabled]: -1, }; const DEFAULT_LOG_LEVEL = logLevelMap[LogLevel.Warning]; let logLevel = typeof process === "undefined" ? DEFAULT_LOG_LEVEL : (_a = logLevelMap[process.env.LOG_LEVEL]) !== null && _a !== void 0 ? _a : DEFAULT_LOG_LEVEL; function setLogLevel(level) { if (typeof level === "number") { console.warn("Passing a number is deprecated, please use LogLevel enum instead"); logLevel = level; return; } logLevel = logLevelMap[level]; } function getLogLevel() { return logLevel; } function debug(message, moduleName) { if (logLevel >= 3) { emitLogMessage({ message, moduleName, msgType: MsgType.Debug, color: LogColor.Blue, }); } } function info(message, moduleName) { if (logLevel >= 2) { emitLogMessage({ message, moduleName, msgType: MsgType.Info, color: LogColor.Green, }); } } function error(message, moduleName) { if (logLevel != -1) { emitLogMessage({ message, moduleName, msgType: MsgType.Error, color: LogColor.Red, }); } } function warning(message, moduleName) { if (logLevel >= 1) { emitLogMessage({ message, moduleName, msgType: MsgType.Warning, color: LogColor.Yellow, }); } } function emitLogMessage({ msgType, message, color, moduleName, }) { const time = getTimestamp(); const moduleNameMessage = moduleName ? `[${moduleName}]` : ""; console.log(`[${time}] ${color}${msgType}:${LogColor.StopColor} ${moduleNameMessage} ${message}`); } function getTimestamp() { const pad = (n, s = 2) => `${new Array(s).fill(0)}${n}`.slice(-s); const date = new Date(); return `${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}:${pad(date.getMilliseconds(), 3)}`; } export function logger(moduleName) { return { debug: (message) => debug(message, moduleName), info, error, warning, setLogLevel, disable: () => setLogLevel(logLevelMap[LogLevel.Disabled]), }; } export { debug, info, error, warning, setLogLevel, getLogLevel }; //# sourceMappingURL=logger.js.map