Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50659 views
1
/*
2
* log-rewriter-test.js: Tests for rewriting metadata in winston.
3
*
4
* (C) 2010 Charlie Robbins
5
* MIT LICENSE
6
*
7
*/
8
9
var assert = require('assert'),
10
vows = require('vows'),
11
winston = require('../lib/winston'),
12
helpers = require('./helpers');
13
14
vows.describe('winston/logger/rewriter').addBatch({
15
"An instance of winston.Logger": {
16
topic: new (winston.Logger)({transports: [
17
new (winston.transports.Console)({ level: 'info' })
18
]}),
19
"the addRewriter() method": {
20
topic: function (logger) {
21
logger.addRewriter(function (level, msg, meta) {
22
meta.level = level;
23
meta.msg = msg;
24
meta.foo = 'bar';
25
return meta;
26
});
27
return logger;
28
},
29
"should add the rewriter": function (logger) {
30
assert.equal(helpers.size(logger.rewriters), 1);
31
},
32
"the log() method": {
33
topic: function (logger) {
34
logger.once('logging', this.callback);
35
logger.log('info', 'test message', {"a": "b"});
36
},
37
"should run the rewriter": function (transport, level, msg, meta) {
38
assert.equal(meta.a, 'b');
39
assert.equal(meta.level, 'info');
40
assert.equal(meta.msg, 'test message');
41
assert.equal(meta.foo, 'bar');
42
}
43
}
44
}
45
}
46
}).addBatch({
47
"An instance of winston.Logger with explicit rewriter": {
48
topic: new (winston.Logger)({transports: [
49
new (winston.transports.Console)({ level: 'info'})
50
], rewriters: [
51
function (level, msg, meta) {
52
meta.level = level;
53
meta.msg = msg;
54
meta.foo = 'bar';
55
return meta;
56
}
57
]}),
58
"should add the rewriter": function (logger) {
59
assert.equal(helpers.size(logger.rewriters), 1);
60
},
61
"the log() method": {
62
topic: function (logger) {
63
logger.once('logging', this.callback);
64
logger.log('info', 'test message', {"a": "b"});
65
},
66
"should run the rewriter": function (transport, level, msg, meta) {
67
assert.equal(meta.a, 'b');
68
assert.equal(meta.level, 'info');
69
assert.equal(meta.msg, 'test message');
70
assert.equal(meta.foo, 'bar');
71
}
72
}
73
}
74
}).addBatch({
75
"An instance of winston.Logger with rewriters": {
76
topic: new (winston.Logger)({transports: [
77
new (winston.transports.Console)({ level: 'info' })
78
], rewriters: [
79
function (level, msg, meta) {
80
meta.numbers.push(1);
81
return meta;
82
},
83
function (level, msg, meta) {
84
meta.numbers.push(2);
85
return meta;
86
}
87
]}),
88
"the log() method": {
89
topic: function (logger) {
90
logger.once('logging', this.callback);
91
logger.log('info', 'test message', {"numbers": [0]});
92
},
93
"should run the rewriters in correct order": function (transport, level, msg, meta) {
94
assert.deepEqual(meta.numbers, [0, 1, 2]);
95
}
96
}
97
}
98
}).export(module);
99
100