const rootRequire = require('rpcm-root-require');
const log4js = require('log4js');
const fse = require('fs-extra');
rootRequire('/platform-helpers/string-extensions');
/**
*
* log.setLevel(Level.WARN);
*
* log.trace("Trace Message!");
* log.debug("Debug Message!");
* log.info("Info Message!");
* log.warn("Warn Message!");
* log.error("Error Message!");
* log.fatal("Fatal Message!");
*
* Warn Message!
* Error Message!
* Fatal Message!
*
*/
class LoggerConfiguration {
static set = () => {
const logsFolder = '{0}/{1}'.format(rootRequire.rootPath, 'logs/app');
fse.ensureDirSync(logsFolder);
fse.readdirSync(logsFolder).forEach(file => fse.removeSync(file));
log4js.configure({
appenders: {
out: { type: 'stdout' },
app: { type: 'fileSync', filename: '{0}/{1}'.format(logsFolder, 'application.log') },
file: { type: 'multiFile', base: logsFolder, property: 'fileName', extension: '.log' }
},
categories: {
default: { appenders: ['out', 'app'], level: 'trace' },
file: { appenders: ['file'], level: 'trace' }
}
});
};
}
module.exports = LoggerConfiguration;