const log4js = require('log4js') class LoggerKit {} LoggerKit.config = { appenders: { default: { type: 'console' } }, categories: { default: { appenders: ['default'], level: log4js.levels.TRACE } } } LoggerKit.getLogger = function (categoryName) { return log4js.getLogger(categoryName) } LoggerKit.pushAppender = function (appenderName, appender) { LoggerKit.config.appenders[appenderName] = appender LoggerKit.rebuild() return log4js } LoggerKit.pushCategory = function (categoryName, category) { LoggerKit.config.categories[categoryName] = category LoggerKit.rebuild() return log4js.getLogger(categoryName) } LoggerKit.rebuild = function () { log4js.configure(LoggerKit.config) } LoggerKit.rebuild() module.exports = LoggerKit