kodex-music-catalog/logger.js
2023-10-06 04:41:18 +03:00

40 lines
976 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()}`;
this.loggerFolder = config().logger_folder;
this.loggerFolder = !["/", "\\"].includes(this.loggerFolder.at(-1))
? this.loggerFolder + "/"
: this.loggerFolder;
fs.writeFile(
`${this.loggerFolder}${this.logId}.log`, '',
{
encoding: "utf8"
},
(err) => {
if (err) throw err;
}
);
}
}
log (date, ip, action, isError = false) {
if (this.isLoggerModeOn) fs.writeFile(
`${this.loggerFolder}${this.logId}.log`, !isError ? `IP: ${ip}\nДата запроса: ${date}\nАктивное действие: ${action}` : `\nПроизошла ошибка: ${action}`,
{
encoding : "utf8",
flag : "a"
},
(err) => {
if (err) throw err;
}
);
}
}
module.exports = { Logger };