93 lines
2.6 KiB
JavaScript
93 lines
2.6 KiB
JavaScript
|
"use strict";
|
||
|
var vows = require('vows'),
|
||
|
assert = require('assert'),
|
||
|
log4js = require('../../lib/log4js'),
|
||
|
sandbox = require('sandboxed-module');
|
||
|
|
||
|
var log = log4js.getLogger('lfstest');
|
||
|
|
||
|
function setupLogging(category, options) {
|
||
|
var sent = {};
|
||
|
|
||
|
function fake(event){
|
||
|
Object.keys(event).forEach(function(key) {
|
||
|
sent[key] = event[key];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
var lfsModule = require('../../lib/appenders/logFacesAppender');
|
||
|
options.send = fake;
|
||
|
log4js.clearAppenders();
|
||
|
log4js.addAppender(lfsModule.configure(options), category);
|
||
|
lfsModule.setContext("foo", "bar");
|
||
|
lfsModule.setContext("bar", "foo");
|
||
|
|
||
|
return {
|
||
|
logger: log4js.getLogger(category),
|
||
|
results: sent
|
||
|
};
|
||
|
}
|
||
|
|
||
|
vows.describe('logFaces appender').addBatch({
|
||
|
'when using HTTP receivers': {
|
||
|
topic: function() {
|
||
|
var setup = setupLogging('myCategory', {
|
||
|
"type": "logFacesAppender",
|
||
|
"application": "LFS-HTTP",
|
||
|
"url": "http://localhost/receivers/rx1"
|
||
|
});
|
||
|
|
||
|
setup.logger.warn('Log event #1');
|
||
|
return setup;
|
||
|
},
|
||
|
'an event should be sent': function (topic) {
|
||
|
var event = topic.results;
|
||
|
assert.equal(event.a, 'LFS-HTTP');
|
||
|
assert.equal(event.m, 'Log event #1');
|
||
|
assert.equal(event.g, 'myCategory');
|
||
|
assert.equal(event.p, 'WARN');
|
||
|
assert.equal(event.p_foo, 'bar');
|
||
|
assert.equal(event.p_bar, 'foo');
|
||
|
|
||
|
// Assert timestamp, up to hours resolution.
|
||
|
var date = new Date(event.t);
|
||
|
assert.equal(
|
||
|
date.toISOString().substring(0, 14),
|
||
|
new Date().toISOString().substring(0, 14)
|
||
|
);
|
||
|
}
|
||
|
},
|
||
|
|
||
|
'when using UDP receivers': {
|
||
|
topic: function() {
|
||
|
var setup = setupLogging('udpCategory', {
|
||
|
"type": "logFacesAppender",
|
||
|
"application": "LFS-UDP",
|
||
|
"remoteHost": "127.0.0.1",
|
||
|
"port": 55201
|
||
|
});
|
||
|
|
||
|
setup.logger.error('Log event #2');
|
||
|
return setup;
|
||
|
},
|
||
|
'an event should be sent': function (topic) {
|
||
|
var event = topic.results;
|
||
|
assert.equal(event.a, 'LFS-UDP');
|
||
|
assert.equal(event.m, 'Log event #2');
|
||
|
assert.equal(event.g, 'udpCategory');
|
||
|
assert.equal(event.p, 'ERROR');
|
||
|
assert.equal(event.p_foo, 'bar');
|
||
|
assert.equal(event.p_bar, 'foo');
|
||
|
|
||
|
// Assert timestamp, up to hours resolution.
|
||
|
var date = new Date(event.t);
|
||
|
assert.equal(
|
||
|
date.toISOString().substring(0, 14),
|
||
|
new Date().toISOString().substring(0, 14)
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
}).export(module);
|