formatting fixes, unnecessary code removed

This commit is contained in:
Gareth Jones
2013-08-05 11:40:59 +10:00
parent c67ab855bb
commit 8ad1cd67e2
2 changed files with 79 additions and 79 deletions

View File

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

View File

@@ -5,75 +5,79 @@ var vows = require('vows')
, assert = require('assert'); , assert = require('assert');
function remove(filename) { function remove(filename) {
try { try {
fs.unlinkSync(filename); fs.unlinkSync(filename);
} catch (e) { } catch (e) {
//doesn't really matter if it failed //doesn't really matter if it failed
} }
} }
vows.describe('log4js categoryFilter').addBatch({ vows.describe('log4js categoryFilter').addBatch({
'appender': { 'appender': {
topic: function() { topic: function() {
var log4js = require('../lib/log4js'), logEvents = [], webLogger, appLogger; var log4js = require('../lib/log4js'), logEvents = [], webLogger, appLogger;
log4js.clearAppenders(); log4js.clearAppenders();
var appender = require('../lib/appenders/categoryFilter').appender(['app'], function(evt) { logEvents.push(evt); }); var appender = require('../lib/appenders/categoryFilter')
log4js.addAppender(appender, ["app","web"]); .appender(
['app'],
webLogger = log4js.getLogger("web"); function(evt) { logEvents.push(evt); }
appLogger = log4js.getLogger("app"); );
log4js.addAppender(appender, ["app","web"]);
webLogger.debug('This should get logged');
appLogger.debug('This should not'); webLogger = log4js.getLogger("web");
webLogger.debug('Hello again'); appLogger = log4js.getLogger("app");
log4js.getLogger('db').debug('This shouldn\'t be included by the appender anyway');
webLogger.debug('This should get logged');
return logEvents; appLogger.debug('This should not');
}, webLogger.debug('Hello again');
'should only pass matching category' : function(logEvents) { log4js.getLogger('db').debug('This shouldn\'t be included by the appender anyway');
assert.equal(logEvents.length, 2);
assert.equal(logEvents[0].data[0], 'This should get logged'); return logEvents;
assert.equal(logEvents[1].data[0], 'Hello again');
}
}, },
'should only pass matching category' : function(logEvents) {
'configure': { assert.equal(logEvents.length, 2);
topic: function() { assert.equal(logEvents[0].data[0], 'This should get logged');
var log4js = require('../lib/log4js') assert.equal(logEvents[1].data[0], 'Hello again');
, logger, weblogger;
remove(__dirname + '/categoryFilter-web.log');
remove(__dirname + '/categoryFilter-noweb.log');
log4js.configure('test/with-categoryFilter.json');
logger = log4js.getLogger("app");
weblogger = log4js.getLogger("web");
logger.info('Loading app');
logger.debug('Initialising indexes');
weblogger.info('00:00:00 GET / 200');
weblogger.warn('00:00:00 GET / 500');
//wait for the file system to catch up
setTimeout(this.callback, 100);
},
'tmp-tests.log': {
topic: function() {
fs.readFile(__dirname + '/categoryFilter-noweb.log', 'utf8', this.callback);
},
'should contain all log messages': function(contents) {
var messages = contents.trim().split('\n');
assert.deepEqual(messages, ['Loading app','Initialising indexes']);
}
},
'tmp-tests-web.log': {
topic: function() {
fs.readFile(__dirname + '/categoryFilter-web.log','utf8',this.callback);
},
'should contain only error and warning log messages': function(contents) {
var messages = contents.trim().split('\n');
assert.deepEqual(messages, ['00:00:00 GET / 200','00:00:00 GET / 500']);
}
}
} }
},
'configure': {
topic: function() {
var log4js = require('../lib/log4js')
, logger, weblogger;
remove(__dirname + '/categoryFilter-web.log');
remove(__dirname + '/categoryFilter-noweb.log');
log4js.configure('test/with-categoryFilter.json');
logger = log4js.getLogger("app");
weblogger = log4js.getLogger("web");
logger.info('Loading app');
logger.debug('Initialising indexes');
weblogger.info('00:00:00 GET / 200');
weblogger.warn('00:00:00 GET / 500');
//wait for the file system to catch up
setTimeout(this.callback, 100);
},
'tmp-tests.log': {
topic: function() {
fs.readFile(__dirname + '/categoryFilter-noweb.log', 'utf8', this.callback);
},
'should contain all log messages': function(contents) {
var messages = contents.trim().split('\n');
assert.deepEqual(messages, ['Loading app','Initialising indexes']);
}
},
'tmp-tests-web.log': {
topic: function() {
fs.readFile(__dirname + '/categoryFilter-web.log','utf8',this.callback);
},
'should contain only error and warning log messages': function(contents) {
var messages = contents.trim().split('\n');
assert.deepEqual(messages, ['00:00:00 GET / 200','00:00:00 GET / 500']);
}
}
}
}).export(module); }).export(module);