Adding maxLevel to levelFilter.

This optional parameter specifies what maximum level of event is accepted by the filter.
This commit is contained in:
Jakub Chmura
2014-08-25 19:48:15 +02:00
parent ae04cc9a4a
commit 00c62c7fa6

View File

@@ -2,10 +2,12 @@
var levels = require('../levels')
, log4js = require('../log4js');
function logLevelFilter (levelString, appender) {
var level = levels.toLevel(levelString);
function logLevelFilter (minLevelString, maxLevelString, appender) {
var minLevel = levels.toLevel(minLevelString);
var maxLevel = levels.toLevel(maxLevelString, levels.FATAL);
return function(logEvent) {
if (logEvent.level.isGreaterThanOrEqualTo(level)) {
var eventLevel = logEvent.level;
if (eventLevel.isGreaterThanOrEqualTo(minLevel) && eventLevel.isLessThanOrEqualTo(maxLevel)) {
appender(logEvent);
}
};
@@ -14,7 +16,7 @@ function logLevelFilter (levelString, appender) {
function configure(config) {
log4js.loadAppender(config.appender.type);
var appender = log4js.appenderMakers[config.appender.type](config.appender);
return logLevelFilter(config.level, appender);
return logLevelFilter(config.level, config.maxLevel, appender);
}
exports.appender = logLevelFilter;