1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | 'use strict';
|
22 |
|
23 | var Buffer = require('buffer').Buffer;
|
24 | var test = require('tape');
|
25 |
|
26 | var captureStdio = require('./lib/capture-stdio.js');
|
27 | var ConsoleLogger = require('./lib/console-logger.js');
|
28 | var FileLogger = require('./lib/file-logger.js');
|
29 | var SentryLogger = require('./lib/sentry-logger.js');
|
30 | var KafkaLogger = require('./lib/kafka-logger.js');
|
31 |
|
32 | test('writing a buffer object (console)', function t(assert) {
|
33 | var logger = ConsoleLogger();
|
34 |
|
35 | var meta = allocBufferMeta();
|
36 |
|
37 | assert.ok(captureStdio('info: cool story buf=b2ggaGk', function log() {
|
38 | logger.info('cool story', meta, function cb(err) {
|
39 | assert.ifError(err);
|
40 |
|
41 | logger.destroy();
|
42 | assert.end();
|
43 | });
|
44 | }));
|
45 | });
|
46 |
|
47 | test('writing a buffer object (disk)', function t(assert) {
|
48 | var logger = FileLogger();
|
49 |
|
50 | var meta = allocBufferMeta();
|
51 |
|
52 | logger.info('cool story', meta, function log(err) {
|
53 | assert.ifError(err);
|
54 |
|
55 | logger.readFile(function onFile(err, buf) {
|
56 | assert.ifError(err);
|
57 |
|
58 | assert.ok(buf.indexOf('info: cool story buf=b2ggaGk') !== -1);
|
59 |
|
60 | logger.destroy();
|
61 | assert.end();
|
62 | });
|
63 | });
|
64 | });
|
65 |
|
66 | test('writing a buffer object (sentry)', function t(assert) {
|
67 | var messages = [];
|
68 | var logger = SentryLogger(function listener(msg) {
|
69 | messages.push(msg);
|
70 |
|
71 | if (messages.length === 1) {
|
72 | onLogged();
|
73 | }
|
74 | });
|
75 |
|
76 | var meta = allocBufferMeta();
|
77 |
|
78 | logger.error('cool story', meta);
|
79 |
|
80 | function onLogged() {
|
81 | var msg = messages[0];
|
82 |
|
83 | assert.ok(msg.message.indexOf('cool story') !== -1);
|
84 |
|
85 | logger.destroy();
|
86 | assert.end();
|
87 | }
|
88 | });
|
89 |
|
90 | test('writing a buffer object (kafka)', function t(assert) {
|
91 | var messages = [];
|
92 | var logger = KafkaLogger(function listener(err, msg) {
|
93 | assert.ifError(err, 'no unexpected server error');
|
94 | messages.push(msg);
|
95 |
|
96 | if (messages.length === 1) {
|
97 | onLogged();
|
98 | }
|
99 | });
|
100 |
|
101 | var meta = allocBufferMeta();
|
102 |
|
103 | logger.info('cool story', meta);
|
104 |
|
105 | function onLogged() {
|
106 | var msg = messages[0];
|
107 |
|
108 | var payload = msg.messages[0].payload;
|
109 |
|
110 | assert.ok(payload.msg.indexOf('cool story') !== -1);
|
111 |
|
112 | logger.destroy();
|
113 | assert.end();
|
114 | }
|
115 | });
|
116 |
|
117 | function allocBufferMeta() {
|
118 | var meta = {};
|
119 | meta.buf = new Buffer('oh hi');
|
120 | meta.ohWhat = {
|
121 | someBuf: new Buffer('oh wat')
|
122 | };
|
123 |
|
124 | return meta;
|
125 | }
|