create-plume-react-project
Version:
CLI to create Plume React Project
51 lines (50 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const simple_logging_system_1 = require("simple-logging-system");
/**
* Remplace le logger par défaut de nodejs avec console.log pour y ajouter l'heure et les informations de logs
*/
class ServerLogger {
static setupServerLogs(verbose) {
simple_logging_system_1.ApplicationLogger.setLoggerFunction((level, loggerName, message, ...args) => {
ServerLogger.logMessage(verbose, level, loggerName, message, ...args);
});
}
static logMessage(verbose, level, loggerName, message, ...args) {
if (level !== simple_logging_system_1.LoggerLevel.DEBUG || verbose) {
ServerLogger.internalLog(level, ServerLogger.formatMessage(verbose, loggerName, message), ...args);
}
}
static formatMessage(verbose, loggerName, message) {
if (verbose) {
return `${loggerName}: ${message}`;
}
return message;
}
static internalLog(level, message, ...args) {
// eslint-disable-next-line no-console
console.log(`${ServerLogger.levelToColor(level)}%s\x1b[0m`, message, ...args);
}
static levelToColor(level) {
if (level === simple_logging_system_1.LoggerLevel.ERROR) {
// red
return '\x1b[31m';
}
if (level === simple_logging_system_1.LoggerLevel.WARN) {
// yellow
return '\x1b[33m';
}
if (level === simple_logging_system_1.LoggerLevel.INFO) {
// green
return '\x1b[32m';
}
if (level === simple_logging_system_1.LoggerLevel.DEBUG) {
// gray
return '\x1b[37m';
}
// black
return '\x1b[30m';
}
static get [Symbol.for("___CTOR_NAME___")]() { return "ServerLogger"; }
}
exports.default = ServerLogger;