maxun-core
Version:
Core package for Maxun, responsible for data extraction
32 lines (31 loc) • 1.1 kB
JavaScript
/*
* Logger class for more detailed and comprehensible logs (with colors and timestamps)
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Level = void 0;
var Level;
(function (Level) {
Level[Level["DATE"] = 36] = "DATE";
Level[Level["LOG"] = 0] = "LOG";
Level[Level["WARN"] = 93] = "WARN";
Level[Level["ERROR"] = 31] = "ERROR";
Level[Level["DEBUG"] = 95] = "DEBUG";
Level[Level["RESET"] = 0] = "RESET";
})(Level = exports.Level || (exports.Level = {}));
function logger(message, level = Level.LOG) {
let m = message;
if (message.constructor.name.includes('Error') && typeof message !== 'string') {
m = (message).message;
}
process.stdout.write(`\x1b[${Level.DATE}m[${(new Date()).toLocaleString()}]\x1b[0m `);
process.stdout.write(`\x1b[${level}m`);
if (level === Level.ERROR || level === Level.WARN) {
process.stderr.write(m);
}
else {
process.stdout.write(m);
}
process.stdout.write(`\x1b[${Level.RESET}m\n`);
}
exports.default = logger;
;