@treecg/curation
Version:
This library implements a class (Curator) with methods to curate an announcement LDES in LDP.
60 lines (59 loc) • 2.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
/***************************************
* Title: Logger
* Description: Simple logger class
* Author: Wout Slabbinck (wout.slabbinck@ugent.be)
* Created on 02/12/2021
*****************************************/
var loglevel_1 = __importDefault(require("loglevel"));
var loglevel_plugin_prefix_1 = __importDefault(require("loglevel-plugin-prefix"));
var Logger = /** @class */ (function () {
function Logger(loggable, level) {
var label = typeof loggable === 'string' ? loggable : loggable.constructor.name;
level = level && isLogLevel(level) ? level : 'info';
loglevel_1.default.setDefaultLevel('info');
if (level && isLogLevel(level)) {
loglevel_1.default.setLevel(level);
}
loglevel_plugin_prefix_1.default.reg(loglevel_1.default);
loglevel_plugin_prefix_1.default.apply(loglevel_1.default, {
template: '%t [%n] %l:',
levelFormatter: function (level) {
return level;
},
nameFormatter: function (name) {
return name || 'global';
},
timestampFormatter: function (date) {
return date.toISOString();
},
});
this.logger = loglevel_1.default.getLogger(label);
}
Logger.prototype.error = function (message) {
this.logger.error(message);
};
Logger.prototype.warn = function (message) {
this.logger.warn(message);
};
Logger.prototype.info = function (message) {
this.logger.info(message);
};
Logger.prototype.debug = function (message) {
this.logger.debug(message);
};
Logger.prototype.trace = function (message) {
this.logger.trace(message);
};
return Logger;
}());
exports.Logger = Logger;
function isLogLevel(value) {
value = value.toUpperCase();
return Object.keys(loglevel_1.default.levels).includes(value);
}