UNPKG

muttley

Version:
59 lines 1.94 kB
"use strict"; 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