logger-monitor
Version:
Quick and easy logging for JS.
36 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var chalk_1 = require("chalk");
function formatTimestamp(time) {
return time.toISOString() + " :: ";
}
function formatTimerData(time) {
return "- " + time.toFixed(2) + "ms";
}
function getTypeSymbol(type) {
switch (type) {
case 'warning':
return chalk_1.default.yellow(' w ');
case 'error':
return chalk_1.default.redBright(' E ');
default:
return chalk_1.default.blue(' i ');
}
}
function extractMessage(message) {
if (message instanceof Error) {
return JSON.stringify(message.message);
}
// Correct formatting for objects;
if (typeof message === 'object') {
return JSON.stringify(message);
}
return message;
}
exports.formatLog = function (log, showTimestamp) {
var message = log.message, timestamp = log.timestamp, type = log.type, time = log.time;
var normalizedMessage = extractMessage(message);
var formattedLog = "" + (showTimestamp ? formatTimestamp(timestamp) : '') + normalizedMessage + " " + (time ? formatTimerData(time) : '');
return getTypeSymbol(type) + " " + formattedLog;
};
//# sourceMappingURL=formatting.js.map