mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-12 02:42:48 +00:00
99 lines
2.9 KiB
JavaScript
99 lines
2.9 KiB
JavaScript
/*
|
|
* log-rewriter-test.js: Tests for rewriting metadata in winston.
|
|
*
|
|
* (C) 2010 Charlie Robbins
|
|
* MIT LICENSE
|
|
*
|
|
*/
|
|
|
|
var assert = require('assert'),
|
|
vows = require('vows'),
|
|
winston = require('../lib/winston'),
|
|
helpers = require('./helpers');
|
|
|
|
vows.describe('winston/logger/rewriter').addBatch({
|
|
"An instance of winston.Logger": {
|
|
topic: new (winston.Logger)({transports: [
|
|
new (winston.transports.Console)({ level: 'info' })
|
|
]}),
|
|
"the addRewriter() method": {
|
|
topic: function (logger) {
|
|
logger.addRewriter(function (level, msg, meta) {
|
|
meta.level = level;
|
|
meta.msg = msg;
|
|
meta.foo = 'bar';
|
|
return meta;
|
|
});
|
|
return logger;
|
|
},
|
|
"should add the rewriter": function (logger) {
|
|
assert.equal(helpers.size(logger.rewriters), 1);
|
|
},
|
|
"the log() method": {
|
|
topic: function (logger) {
|
|
logger.once('logging', this.callback);
|
|
logger.log('info', 'test message', {"a": "b"});
|
|
},
|
|
"should run the rewriter": function (transport, level, msg, meta) {
|
|
assert.equal(meta.a, 'b');
|
|
assert.equal(meta.level, 'info');
|
|
assert.equal(meta.msg, 'test message');
|
|
assert.equal(meta.foo, 'bar');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}).addBatch({
|
|
"An instance of winston.Logger with explicit rewriter": {
|
|
topic: new (winston.Logger)({transports: [
|
|
new (winston.transports.Console)({ level: 'info'})
|
|
], rewriters: [
|
|
function (level, msg, meta) {
|
|
meta.level = level;
|
|
meta.msg = msg;
|
|
meta.foo = 'bar';
|
|
return meta;
|
|
}
|
|
]}),
|
|
"should add the rewriter": function (logger) {
|
|
assert.equal(helpers.size(logger.rewriters), 1);
|
|
},
|
|
"the log() method": {
|
|
topic: function (logger) {
|
|
logger.once('logging', this.callback);
|
|
logger.log('info', 'test message', {"a": "b"});
|
|
},
|
|
"should run the rewriter": function (transport, level, msg, meta) {
|
|
assert.equal(meta.a, 'b');
|
|
assert.equal(meta.level, 'info');
|
|
assert.equal(meta.msg, 'test message');
|
|
assert.equal(meta.foo, 'bar');
|
|
}
|
|
}
|
|
}
|
|
}).addBatch({
|
|
"An instance of winston.Logger with rewriters": {
|
|
topic: new (winston.Logger)({transports: [
|
|
new (winston.transports.Console)({ level: 'info' })
|
|
], rewriters: [
|
|
function (level, msg, meta) {
|
|
meta.numbers.push(1);
|
|
return meta;
|
|
},
|
|
function (level, msg, meta) {
|
|
meta.numbers.push(2);
|
|
return meta;
|
|
}
|
|
]}),
|
|
"the log() method": {
|
|
topic: function (logger) {
|
|
logger.once('logging', this.callback);
|
|
logger.log('info', 'test message', {"numbers": [0]});
|
|
},
|
|
"should run the rewriters in correct order": function (transport, level, msg, meta) {
|
|
assert.deepEqual(meta.numbers, [0, 1, 2]);
|
|
}
|
|
}
|
|
}
|
|
}).export(module);
|