Merge pull request #119 from UniversityofWarwick/category-filter

Category excluding filter.
This commit is contained in:
Gareth Jones
2013-08-04 18:25:32 -07:00
3 changed files with 126 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
var levels = require('../levels');
var log4js = require('../log4js');
function contains(list, value) {
return list.indexOf(value) !== -1;
}
function categoryFilter (excludes, appender) {
if (typeof(excludes) === 'string') excludes = [excludes];
return function(logEvent) {
if (excludes.indexOf(logEvent.categoryName) === -1) {
appender(logEvent);
}
}
}
function configure(config) {
log4js.loadAppender(config.appender.type);
var appender = log4js.appenderMakers[config.appender.type](config.appender);
return categoryFilter(config.exclude, appender);
}
exports.appender = categoryFilter;
exports.configure = configure;