UNPKG

@cronstamp/clientlib

Version:

Client library for cronstamp, a blockchain-based document timestamping and verification service.

73 lines 2.53 kB
export var LOG_LEVELS; (function (LOG_LEVELS) { LOG_LEVELS[LOG_LEVELS["DEBUG"] = 0] = "DEBUG"; LOG_LEVELS[LOG_LEVELS["INFO"] = 1] = "INFO"; LOG_LEVELS[LOG_LEVELS["WARN"] = 2] = "WARN"; LOG_LEVELS[LOG_LEVELS["ERR"] = 3] = "ERR"; LOG_LEVELS[LOG_LEVELS["NONE"] = 4] = "NONE"; })(LOG_LEVELS || (LOG_LEVELS = {})); let userLogFunction; /** * Overwrite the log function. Set to "undefined" to use standard logging to console. * @param newLogFunction */ export function setLogFunction(newLogFunction = undefined) { userLogFunction = newLogFunction; } export class Log { module; logLevel; constructor(logLevel, module = undefined) { this.module = module; this.logLevel = logLevel; } setLogLevel(logLevel) { this.logLevel = logLevel; } debug(message, ...objectInfo) { this.log(LOG_LEVELS.DEBUG, message, ...objectInfo); } info(message, ...objectInfo) { this.log(LOG_LEVELS.INFO, message, ...objectInfo); } warn(message, ...objectInfo) { this.log(LOG_LEVELS.WARN, message, ...objectInfo); } err(message, ...objectInfo) { this.log(LOG_LEVELS.ERR, message, ...objectInfo); } log(messageLogLevel, message, ...objectInfo) { if (messageLogLevel >= this.logLevel) { if (userLogFunction) { userLogFunction(messageLogLevel, this.module, message, ...objectInfo); } else { message = '[' + LOG_LEVELS[messageLogLevel] + (this.module ? '|' + this.module : '') + '][' + new Date().toISOString() + '] ' + message; switch (messageLogLevel) { case LOG_LEVELS.DEBUG: console.debug(message, ...objectInfo); break; case LOG_LEVELS.INFO: console.info(message, ...objectInfo); break; case LOG_LEVELS.WARN: console.warn(message, ...objectInfo); break; case LOG_LEVELS.ERR: console.error(message, ...objectInfo); break; default: console.log(message, ...objectInfo); } } } } } //# sourceMappingURL=logger.js.map