midnight
Version:
Web framework for building modern web applications
70 lines (69 loc) • 2.08 kB
JavaScript
;
module.exports = function (l) {
if (l === void 0) { l = 2; }
var LEVEL = {
trace: 0,
debug: 1,
info: 2,
warn: 3,
error: 4,
fatal: 5
};
var loglevel = l;
/**
* @param {Function} clog
* @param {any[]} args
* @param {number} level
*/
var logger = function (clog, args, level) {
level >= loglevel &&
clog.apply(console, ["".concat(new Date().toISOString(), " [").concat(level, "]")].concat(args));
};
return {
trace: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return logger(console.trace, args, LEVEL.trace);
},
debug: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return logger(console.debug, args, LEVEL.debug);
},
info: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return logger(console.info, args, LEVEL.info);
},
warn: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return logger(console.warn, args, LEVEL.warn);
},
error: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return logger(console.error, args, LEVEL.error);
},
fatal: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return logger(console.error, args, LEVEL.fatal);
},
level: function (level) {
loglevel = level;
}
};
};