muttley
Version:
Monitor Unit Test Tool
59 lines • 1.94 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const log4js_1 = __importDefault(require("log4js"));
log4js_1.default.configure({
appenders: {
stdout: { type: 'stdout' },
},
categories: { default: { appenders: ['stdout'], level: 'off' } },
});
let selectedLogger = null;
let currentLevel = 'off';
let currentLogType = 'file';
const logger = {
set level(level) {
currentLevel = level;
if (level === 'off') {
selectedLogger = null;
}
else {
if (!selectedLogger) {
selectedLogger = log4js_1.default.getLogger(currentLogType);
}
selectedLogger.level = level;
}
},
set type(typ) {
currentLogType = typ;
if (typ !== 'stdout' && typ !== 'file')
throw Error(`Invalid log type ${typ}`);
// reconfigure. Done this way because adding a file appender causes file to be created
if (currentLogType === 'file' && currentLevel !== 'off') {
log4js_1.default.configure({
appenders: {
file: { type: 'file', filename: './mutt.log' },
},
categories: { default: { appenders: ['file'], level: 'info' } },
});
}
selectedLogger = log4js_1.default.getLogger(currentLogType);
selectedLogger.level = currentLevel;
},
get type() {
return currentLogType;
},
debug(...args) {
selectedLogger && selectedLogger.debug('', ...args);
},
info(...args) {
selectedLogger && selectedLogger.info('', ...args);
},
error(...args) {
selectedLogger && selectedLogger.error('', ...args);
},
};
exports.logger = logger;
//# sourceMappingURL=logger.js.map