@log4js2/core
Version:
log4js2 is a fast and lightweight logging library that enables logging flexibility within JavaScript/TypeScript applications, similar to Apache's [Log4j2 library](https://logging.apache.org/log4j/2.x/). It can also serve as a drop-in replacement for log4
39 lines (38 loc) • 1.05 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var appender_1 = require("../appender");
var logger_1 = require("./logger");
/**
* The name of the main logger. We use this in case no logger is specified
* @const
*/
exports.MAIN_LOGGER = 'main';
/**
*
*/
var _loggers = new Map();
exports.addLogger = function (tag, logger) {
_loggers.set(tag, logger);
};
/**
* Handles creating the logger and returning it
*
* @function
*
* @param {function|string=} context
* @param {ILoggerConfiguration} config
* @return {Logger}
*/
exports.getLogger = function (context, config) {
if (_loggers.has(context)) {
return _loggers.get(context);
}
else {
var appenders = appender_1.getLoggerAppenderInstances(config.appenders)
.map(function (appenderWrapper) {
appenderWrapper.appender.setLogLevel(config.level);
appenderWrapper.appender.setLayout(config.layout);
return appenderWrapper;
});
return new logger_1.Logger(context, appenders);
}
};