changed the way appenders are loaded, so that they don't need to include log4js as a direct dependency

This commit is contained in:
Gareth Jones
2013-09-15 14:37:01 +10:00
parent 245b2e3b1a
commit 491c2709e7
12 changed files with 350 additions and 185 deletions
+35 -35
View File
@@ -1,40 +1,40 @@
"use strict";
var levels = require('../levels')
, debug = require('debug')('log4js:logLevelFilter')
, log4js = require('../log4js');
var debug = require('debug')('log4js:logLevelFilter');
function logLevelFilter(allowedLevels, appender) {
return function(logEvent) {
debug("Checking ", logEvent.level, " against ", allowedLevels);
if (allowedLevels.some(function(item) { return item.level === logEvent.level.level; })) {
debug("Sending ", logEvent, " to appender ", appender);
appender(logEvent);
module.exports = function(layouts, levels) {
function logLevelFilter(allowedLevels, appender) {
return function(logEvent) {
debug("Checking ", logEvent.level, " against ", allowedLevels);
if (allowedLevels.some(function(item) { return item.level === logEvent.level.level; })) {
debug("Sending ", logEvent, " to appender ", appender);
appender(logEvent);
}
};
}
return function configure(config, appenderByName) {
if (!Array.isArray(config.allow)) {
throw new Error("No allowed log levels specified.");
}
var allowedLevels = config.allow.map(function(allowed) {
var level = levels.toLevel(allowed);
if (!level) {
throw new Error("Unrecognised log level '" + allowed + "'.");
}
return level;
});
if (allowedLevels.length === 0) {
throw new Error("No allowed log levels specified.");
}
if (!config.appender) {
throw new Error("Missing an appender.");
}
return logLevelFilter(allowedLevels, appenderByName(config.appender));
};
}
function configure(config, appenderByName) {
if (!Array.isArray(config.allow)) {
throw new Error("No allowed log levels specified.");
}
var allowedLevels = config.allow.map(function(allowed) {
var level = levels.toLevel(allowed);
if (!level) {
throw new Error("Unrecognised log level '" + allowed + "'.");
}
return level;
});
if (allowedLevels.length === 0) {
throw new Error("No allowed log levels specified.");
}
if (!config.appender) {
throw new Error("Missing an appender.");
}
return logLevelFilter(allowedLevels, appenderByName(config.appender));
}
exports.configure = configure;
};