40 lines
976 B
JavaScript
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 };
|