Dimensione massima log
All checks were successful
Compila e pubblica sul registro integrato / Build-Docker-Image (push) Successful in 8m22s
All checks were successful
Compila e pubblica sul registro integrato / Build-Docker-Image (push) Successful in 8m22s
This commit is contained in:
50
logs.js
50
logs.js
@@ -5,19 +5,59 @@ let logFile;
|
||||
|
||||
let dir = 'log/';
|
||||
|
||||
if (!fs.existsSync(dir)){
|
||||
fs.mkdirSync(dir);
|
||||
if (!fs.existsSync(dir)) {
|
||||
fs.mkdirSync(dir);
|
||||
}
|
||||
logFile = path.join(__dirname + '/' + dir, "NetBird-UptimeKuma.log");
|
||||
console.log(`[${shared.now()}] File di log situato in ${__dirname}/${dir}NetBird-UptimeKuma.log`);
|
||||
|
||||
logFile = path.join(__dirname + '/' + dir, "NetBird-UptimeKuma.log");
|
||||
|
||||
console.log(`[${shared.now()}] File di log situato in ${logFile}`);
|
||||
|
||||
if ("MAX_LOG_SIZE" in process.env) {
|
||||
shared.setMaxLogSize(process.env.MAX_LOG_SIZE);
|
||||
}
|
||||
console.log(`[${shared.now()}] Dimensione massima del file di log: ${shared.getMaxLogSize()} MB`);
|
||||
|
||||
function writeToLog(message) {
|
||||
fs.appendFileSync(logFile, `${message}\n`);
|
||||
}
|
||||
|
||||
function Log(message) {
|
||||
console.log(message);
|
||||
keepLogfileSmall();
|
||||
writeToLog(message);
|
||||
}
|
||||
|
||||
function keepLogfileSmall() {
|
||||
let stats = fs.statSync(logFile);
|
||||
let currentLogSize = stats.size / (1024 * 1024);
|
||||
|
||||
if (currentLogSize >= shared.getMaxLogSize()) {
|
||||
try {
|
||||
const data = fs.readFileSync(logFile, 'utf8');
|
||||
|
||||
let lastWorkingTokenIndex = data.lastIndexOf("Nuovo token creato");
|
||||
if (lastWorkingTokenIndex == -1) {
|
||||
try {
|
||||
fs.writeFileSync(logFile, "");
|
||||
Log(`[${shared.now()}] Log precedente cancellato correttamente.`)
|
||||
} catch (err) {
|
||||
Log(`[${shared.now()}] Errore nella scrittura del file: ${err}`);
|
||||
|
||||
}
|
||||
} else {
|
||||
let lastWorkingTokenLine = data.substring(lastWorkingTokenIndex - 22, lastWorkingTokenIndex + 60) + "\n";
|
||||
|
||||
try {
|
||||
fs.writeFileSync(logFile, lastWorkingTokenLine);
|
||||
Log(`[${shared.now()}] Log precedente cancellato correttamente.`)
|
||||
} catch (err) {
|
||||
Log(`[${shared.now()}] Errore nella scrittura del file: ${err}`);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
Log(`[${shared.now()}] Errore nella lettura del file: ${err}`);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
module.exports = { Log };
|
||||
|
||||
Reference in New Issue
Block a user