From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- graphs/js/modularLogger/modularLogger.js | 76 ++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 graphs/js/modularLogger/modularLogger.js (limited to 'graphs/js/modularLogger') diff --git a/graphs/js/modularLogger/modularLogger.js b/graphs/js/modularLogger/modularLogger.js new file mode 100644 index 0000000..b22b23c --- /dev/null +++ b/graphs/js/modularLogger/modularLogger.js @@ -0,0 +1,76 @@ +function makeLog(date, nameLogLevel, message) { + return ( + "[" + + date.toLocaleString("fr-FR", { timeStyle: "medium" }) + + "][" + + nameLogLevel + + "] - " + + message + ); +} +function loggerFactory() { + const logs = []; + + return (level = 1000) => { + if (level === 1000) { + return (date, nameLogLevel, message) => { + if ( + !["DEBUG", "INFO", "WARN", "ERROR"].includes(nameLogLevel) + ) { + console.log( + nameLogLevel + + " is an invalid log level. Please use one of the following: DEBUG, INFO, WARN, ERROR.", + ); + } else { + logs.push({ + date: date, + nameLogLevel: nameLogLevel, + message: message, + }); + } + }; + } else if (typeof level !== "number" || level < 0) { + console.log("Bad argument."); + } else { + if (level > 3) { + level = 3; + } + + for (const log of logs) { + const print = makeLog( + log["date"], + log["nameLogLevel"], + log["message"], + ); + + switch (log["nameLogLevel"]) { + case "ERROR": + console.log(print); + break; + case "WARN": + if (level > 0) { + console.log(print); + } + + break; + case "INFO": + if (level > 1) { + console.log(print); + } + + break; + case "DEBUG": + if (level > 2) { + console.log(print); + } + + break; + } + } + } + }; +} + +module.exports = { + loggerFactory, +}; -- cgit v1.2.3