const config = require('config'); const fs = require('fs'); const moment = require('moment'); let current_error_count = 0; let count_mumble_reconnect = 0; let max_fails = config.settings.max_fails; let log_name = config.elogs.name; module.exports.writeLog = async (value) => { return new Promise(async (resolve, reject) => { await fs.writeFile('./logs/simulator_'+log_name+'.log', `[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${value}\n`, {'flag':'a'}, (err) => { if (err) { reject(err); } else { resolve(); } }); }); } module.exports.writeErrorLog = async (value) => { return new Promise(async (resolve, reject) => { current_error_count++; console.log(`ERROR: ${value} ${current_error_count}`); await fs.writeFile('./logs/error_'+log_name+'.log', `[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${value} [${current_error_count}]\n`, {'flag':'a'}, (err) => { if (err) { reject(err); } else { if(current_error_count >= max_fails) { process.exit(0); } resolve(); } }); }); } module.exports.exitWriteErrorLog = async (value) => { return new Promise(async (resolve, reject) => { console.log(`ERROR: ${value}`); await fs.writeFile('./logs/error_'+log_name+'.log', `[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${value}\n`, {'flag':'a'}, (err) => { if (err) { reject(err); } else { if(count_mumble_reconnect >= max_fails) { process.exit(0); } resolve(); } }); }); }