0c1b5313f285ed3c7664b984232b2918e0dc81d0.svn-base
2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
* 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);