22 lines
610 B
JavaScript
22 lines
610 B
JavaScript
const fs = require("node:fs");
|
|
const path = require("node:path");
|
|
|
|
const logsDir = path.resolve(__dirname, "logs");
|
|
if (!fs.existsSync(logsDir)) {
|
|
fs.mkdirSync(logsDir, { recursive: true });
|
|
}
|
|
|
|
const masterLogFile = path.join(logsDir, "master.log");
|
|
|
|
function log(scope, message) {
|
|
const line = `[${new Date().toISOString()}] [${scope}] ${message}\n`;
|
|
fs.appendFileSync(masterLogFile, line, "utf8");
|
|
const scopeFile = path.join(logsDir, `${String(scope || "general").replace(/\W+/g, "_")}.log`);
|
|
fs.appendFileSync(scopeFile, line, "utf8");
|
|
console.log(line.trim());
|
|
}
|
|
|
|
module.exports = {
|
|
log,
|
|
};
|