kodex-music-catalog/logger.js
2023-10-03 17:31:53 +03:00

40 lines
881 B
JavaScript

const config = require("./config-handler");
const fs = require("fs");
class Logger {
constructor () {
this.isLoggerModeOn = config().logger_mode();
if (this.isLoggerModeOn) {
this.logId = `${(new Date()).getTime()}`;
let loggerFolder = config().logger_folder;
loggerFolder = !["/", "\\"].includes(loggerFolder.at(-1))
? loggerFolder + "/"
: loggerFolder;
fs.writeFile(
` ${loggerFolder}${this.logId}.log`, '',
{
encoding: "utf8"
}
(err) => {
throw err;
}
);
}
}
log (date, ip, action, isError = false) {
if (this.isLoggerModeOn) fs.writeFile(
`${loggerFolder}${this.logId}.log`, !isError ? `IP: ${ip}\nДата запроса: ${date}` : `\nПроизошла ошибка: ${action}`,
{
encoding : "utf8",
flag : "a"
}
(err) => {
throw err;
}
);
}
}
module.exports = { Logger };