standard-log 11.1.0 → 11.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/errors.d.ts +6 -0
- package/cjs/errors.d.ts.map +1 -1
- package/cjs/errors.js +6 -0
- package/cjs/errors.js.map +1 -1
- package/cjs/logger.d.ts.map +1 -1
- package/cjs/logger.js +3 -5
- package/cjs/logger.js.map +1 -1
- package/cjs/testUtil.js +2 -5
- package/cjs/testUtil.js.map +1 -1
- package/dist/standard-log.es5.js +9 -5
- package/dist/standard-log.es5.js.gz +0 -0
- package/dist/standard-log.es5.js.map +1 -1
- package/dist/standard-log.es5.js.map.gz +0 -0
- package/dist/standard-log.esm.js +9 -6
- package/dist/standard-log.esm.js.gz +0 -0
- package/dist/standard-log.esm.js.map +1 -1
- package/dist/standard-log.esm.js.map.gz +0 -0
- package/esm/errors.d.ts +6 -0
- package/esm/errors.d.ts.map +1 -1
- package/esm/errors.js +6 -0
- package/esm/errors.js.map +1 -1
- package/esm/logger.d.ts.map +1 -1
- package/esm/logger.js +3 -5
- package/esm/logger.js.map +1 -1
- package/esm/memory.spec.js +2 -1
- package/esm/memory.spec.js.map +1 -1
- package/esm/standardLog.spec.js +7 -7
- package/esm/standardLog.spec.js.map +1 -1
- package/esm/testUtil.js +2 -2
- package/esm/testUtil.js.map +1 -1
- package/package.json +7 -6
- package/ts/errors.ts +7 -0
- package/ts/logger.ts +3 -5
- package/cjs/console.spec.d.ts +0 -2
- package/cjs/console.spec.d.ts.map +0 -1
- package/cjs/console.spec.js +0 -185
- package/cjs/console.spec.js.map +0 -1
- package/cjs/formatter.spec.d.ts +0 -2
- package/cjs/formatter.spec.d.ts.map +0 -1
- package/cjs/formatter.spec.js +0 -32
- package/cjs/formatter.spec.js.map +0 -1
- package/cjs/index.spec.d.ts +0 -2
- package/cjs/index.spec.d.ts.map +0 -1
- package/cjs/index.spec.js +0 -15
- package/cjs/index.spec.js.map +0 -1
- package/cjs/logStore.spec.d.ts +0 -2
- package/cjs/logStore.spec.d.ts.map +0 -1
- package/cjs/logStore.spec.js +0 -93
- package/cjs/logStore.spec.js.map +0 -1
- package/cjs/memory.spec.d.ts +0 -2
- package/cjs/memory.spec.d.ts.map +0 -1
- package/cjs/memory.spec.js +0 -148
- package/cjs/memory.spec.js.map +0 -1
- package/cjs/standardLog.spec.d.ts +0 -2
- package/cjs/standardLog.spec.d.ts.map +0 -1
- package/cjs/standardLog.spec.js +0 -678
- package/cjs/standardLog.spec.js.map +0 -1
- package/cjs/types.spec.d.ts +0 -2
- package/cjs/types.spec.d.ts.map +0 -1
- package/cjs/types.spec.js +0 -7
- package/cjs/types.spec.js.map +0 -1
package/cjs/standardLog.spec.js
DELETED
|
@@ -1,678 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
var assertron_1 = require("assertron");
|
|
40
|
-
var errors_js_1 = require("./errors.js");
|
|
41
|
-
var index_js_1 = require("./index.js");
|
|
42
|
-
var logLevels_js_1 = require("./logLevels.js");
|
|
43
|
-
var memory_js_1 = require("./memory.js");
|
|
44
|
-
var standardLog_js_1 = require("./standardLog.js");
|
|
45
|
-
var testUtil_js_1 = require("./testUtil.js");
|
|
46
|
-
describe('createStandardLog()', function () {
|
|
47
|
-
describe('logLevel', function () {
|
|
48
|
-
it('is default to info', function () {
|
|
49
|
-
var actual = (0, index_js_1.createStandardLog)();
|
|
50
|
-
expect(actual.logLevel).toBe(logLevels_js_1.logLevels.info);
|
|
51
|
-
});
|
|
52
|
-
it('is readonly', function () {
|
|
53
|
-
var actual = (0, index_js_1.createStandardLog)();
|
|
54
|
-
assertron_1.assertron.throws(function () { return actual.logLevel = logLevels_js_1.logLevels.planck; }, function (err) { return /only a getter/.test(err); });
|
|
55
|
-
});
|
|
56
|
-
it('set logLevel from options', function () {
|
|
57
|
-
var actual = (0, index_js_1.createStandardLog)({ logLevel: logLevels_js_1.logLevels.planck });
|
|
58
|
-
expect(actual.logLevel).toBe(logLevels_js_1.logLevels.planck);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe('custom levels', function () {
|
|
62
|
-
it('can define custom levels', function () {
|
|
63
|
-
var actual = (0, index_js_1.createStandardLog)({ customLevels: { urgent: 80 } });
|
|
64
|
-
expect(actual.toLogLevelName(80)).toBe('urgent');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
describe('reporters', function () {
|
|
68
|
-
it('can specify reporter', function () {
|
|
69
|
-
var mem = (0, memory_js_1.createMemoryLogReporter)();
|
|
70
|
-
var sl = (0, index_js_1.createStandardLog)({ reporters: [mem] });
|
|
71
|
-
var log = sl.getLogger('x');
|
|
72
|
-
log.notice('abc');
|
|
73
|
-
expect(mem.logs.length).toBe(1);
|
|
74
|
-
});
|
|
75
|
-
it('all reporters must have an id', function () {
|
|
76
|
-
var reporter = (0, memory_js_1.createMemoryLogReporter)({ id: '' });
|
|
77
|
-
(0, index_js_1.createStandardLog)({ reporters: [reporter] });
|
|
78
|
-
assertron_1.assertron.satisfies(reporter.logs, [{
|
|
79
|
-
id: 'standard-log',
|
|
80
|
-
level: logLevels_js_1.logLevels.critical,
|
|
81
|
-
args: ["Detected reporter with empty id. This is not allowed as it will create problems with feature like 'getNonConsoleLogger()'. Please add an id to your reporter."]
|
|
82
|
-
}]);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe('related to global', function () {
|
|
86
|
-
beforeEach(function () {
|
|
87
|
-
standardLog_js_1.ctx.gsl = undefined;
|
|
88
|
-
standardLog_js_1.ctx.configured = false;
|
|
89
|
-
});
|
|
90
|
-
it('will affect getLogger() if configGlobal() is not called', function () {
|
|
91
|
-
var _a;
|
|
92
|
-
(0, index_js_1.createStandardLog)({ logLevel: logLevels_js_1.logLevels.planck });
|
|
93
|
-
expect((_a = standardLog_js_1.ctx.gsl) === null || _a === void 0 ? void 0 : _a.standardLog.logLevel).toBe(logLevels_js_1.logLevels.planck);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
describe('createStandardLogForTest()', function () {
|
|
98
|
-
it('returns with memory reporter', function () {
|
|
99
|
-
var reporter = (0, index_js_1.createStandardLogForTest)().reporter;
|
|
100
|
-
expect(reporter.getLogMessageWithLevel()).toBe('');
|
|
101
|
-
});
|
|
102
|
-
it('defaults to debug', function () {
|
|
103
|
-
var store = (0, index_js_1.createStandardLogForTest)();
|
|
104
|
-
expect(store.logLevel).toBe(logLevels_js_1.logLevels.debug);
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
describe('standardLog.getLogger()', function () {
|
|
108
|
-
/**
|
|
109
|
-
* The logger id does not allow all characters due to security concerns.
|
|
110
|
-
* Since we have no control over where the logs will be written to,
|
|
111
|
-
* the could be a case that the ID is being used to exploit those environment.
|
|
112
|
-
* So keeping the supported characters in sane way helps mitigates the risk.
|
|
113
|
-
*/
|
|
114
|
-
it('supports id with alphanumeric and :_-.', function () {
|
|
115
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
116
|
-
sl.getLogger('abcdefghijklmnopqrstuvwxyz:-_.1234567890');
|
|
117
|
-
});
|
|
118
|
-
it('supports id with unicode', function () {
|
|
119
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
120
|
-
sl.getLogger('ミク香港');
|
|
121
|
-
});
|
|
122
|
-
it('supports id with @, \\ and /', function () {
|
|
123
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
124
|
-
sl.getLogger('@unional/fixture');
|
|
125
|
-
sl.getLogger("a\\b\\c");
|
|
126
|
-
});
|
|
127
|
-
it('supports id with space', function () {
|
|
128
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
129
|
-
sl.getLogger('hello world');
|
|
130
|
-
});
|
|
131
|
-
it.each('`~!#$%^&*()=+|[]{}<>,?'.split(''))('throws if id has unsupported character %s', function (char) {
|
|
132
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
133
|
-
assertron_1.assertron.throws(function () { return sl.getLogger(char); }, errors_js_1.InvalidId);
|
|
134
|
-
});
|
|
135
|
-
it('throw InvalidId with ssf to the call site', function () {
|
|
136
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
137
|
-
var err = assertron_1.assertron.throws(function () { return sl.getLogger('!'); }, errors_js_1.InvalidId);
|
|
138
|
-
(0, testUtil_js_1.assertSSF)(err, __filename);
|
|
139
|
-
});
|
|
140
|
-
test('id is readonly', function () {
|
|
141
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
142
|
-
var log = sl.getLogger('id is readonly');
|
|
143
|
-
assertron_1.assertron.throws(function () { return log.id = 'b'; });
|
|
144
|
-
});
|
|
145
|
-
test('get logger with same name gets the same instance', function () {
|
|
146
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
147
|
-
var expected = sl.getLogger('same-inst');
|
|
148
|
-
var actual = sl.getLogger('same-inst');
|
|
149
|
-
expect(actual).toBe(expected);
|
|
150
|
-
});
|
|
151
|
-
it('can specify local log level', function () {
|
|
152
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
153
|
-
var log = sl.getLogger('local', { level: logLevels_js_1.logLevels.trace });
|
|
154
|
-
expect(log.level).toBe(logLevels_js_1.logLevels.trace);
|
|
155
|
-
});
|
|
156
|
-
test('new logger will get custom level', function () {
|
|
157
|
-
var sl = (0, index_js_1.createStandardLog)({ customLevels: { 'to_logger': 1234 } });
|
|
158
|
-
var actual = sl.getLogger('to_logger_logger');
|
|
159
|
-
expect(typeof actual.to_logger).toBe('function');
|
|
160
|
-
});
|
|
161
|
-
it('needs to cast Logger when wrapped', function () {
|
|
162
|
-
function wrapper(options) {
|
|
163
|
-
var sl = (0, index_js_1.createStandardLog)(options);
|
|
164
|
-
var log = sl.getLogger('local');
|
|
165
|
-
expect(log.info).toBeDefined();
|
|
166
|
-
return sl;
|
|
167
|
-
}
|
|
168
|
-
var sl = wrapper({ customLevels: { 'cust': 123 } });
|
|
169
|
-
var actual = sl.getLogger('c');
|
|
170
|
-
expect(actual.cust).toBeDefined();
|
|
171
|
-
// make sure the logger outside also get default log methods
|
|
172
|
-
expect(actual.error).toBeDefined();
|
|
173
|
-
});
|
|
174
|
-
describe('log levels', function () {
|
|
175
|
-
function assertLoggedAtLevel(sl, method, level) {
|
|
176
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
177
|
-
var log, msg;
|
|
178
|
-
return __generator(this, function (_a) {
|
|
179
|
-
log = sl.getLogger(method);
|
|
180
|
-
msg = "should log on level: ".concat(level);
|
|
181
|
-
log[method](msg);
|
|
182
|
-
assertron_1.assertron.satisfies(sl.reporter.logs, [{ id: method, level: sl.toLogLevel(method), args: [msg] }]);
|
|
183
|
-
return [2 /*return*/];
|
|
184
|
-
});
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
function assertNotLoggedAtLevel(sl, method, level) {
|
|
188
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
189
|
-
var log;
|
|
190
|
-
return __generator(this, function (_a) {
|
|
191
|
-
log = sl.getLogger(method);
|
|
192
|
-
log[method]("should not log on level: ".concat(level));
|
|
193
|
-
expect(sl.reporter.logs.length).toBe(0);
|
|
194
|
-
return [2 /*return*/];
|
|
195
|
-
});
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
function assertLoggedAtLocalLevel(sl, method, localLevel) {
|
|
199
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
200
|
-
var log, msg;
|
|
201
|
-
return __generator(this, function (_a) {
|
|
202
|
-
log = sl.getLogger(method, { level: localLevel });
|
|
203
|
-
msg = "should log on level: ".concat(localLevel);
|
|
204
|
-
log[method](msg);
|
|
205
|
-
assertron_1.assertron.satisfies(sl.reporter.logs, [{ id: log.id, level: sl.toLogLevel(method), args: [msg] }]);
|
|
206
|
-
return [2 /*return*/];
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
function assertNotLoggedAtLocalLevel(sl, method, localLevel) {
|
|
211
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
212
|
-
var log;
|
|
213
|
-
return __generator(this, function (_a) {
|
|
214
|
-
log = sl.getLogger(method, { level: localLevel });
|
|
215
|
-
log[method]("should not log on level: ".concat(localLevel));
|
|
216
|
-
expect(sl.reporter.logs.length).toBe(0);
|
|
217
|
-
return [2 /*return*/];
|
|
218
|
-
});
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
function assertLoggedAtCallLevel(sl, method, callLevel) {
|
|
222
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
223
|
-
var log, actual;
|
|
224
|
-
return __generator(this, function (_a) {
|
|
225
|
-
log = sl.getLogger(method);
|
|
226
|
-
actual = false;
|
|
227
|
-
log.on(callLevel, function () { return actual = true; });
|
|
228
|
-
expect(actual).toBe(true);
|
|
229
|
-
return [2 /*return*/];
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
function assertNotLoggedAtCallLevel(sl, method, callLevel, actualLevel) {
|
|
234
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
235
|
-
var log;
|
|
236
|
-
return __generator(this, function (_a) {
|
|
237
|
-
log = sl.getLogger(method);
|
|
238
|
-
log.on(callLevel, function () { throw new Error("should not log at level ".concat(actualLevel)); });
|
|
239
|
-
return [2 /*return*/];
|
|
240
|
-
});
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
function assertLoggedAtCallLevelOverrideLocalLevel(sl, method, localLevel, callLevel) {
|
|
244
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
245
|
-
var log, actual;
|
|
246
|
-
return __generator(this, function (_a) {
|
|
247
|
-
log = sl.getLogger(method, { level: localLevel });
|
|
248
|
-
actual = false;
|
|
249
|
-
log.on(callLevel, function () { return actual = true; });
|
|
250
|
-
expect(actual).toBe(true);
|
|
251
|
-
return [2 /*return*/];
|
|
252
|
-
});
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
function assertNotLoggedAtCallLevelOverrideLocalLevel(sl, method, localLevel, callLevel) {
|
|
256
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
257
|
-
var log;
|
|
258
|
-
return __generator(this, function (_a) {
|
|
259
|
-
log = sl.getLogger(method, { level: localLevel });
|
|
260
|
-
log.on(callLevel, function () { throw new Error("should not log at level ".concat(localLevel)); });
|
|
261
|
-
return [2 /*return*/];
|
|
262
|
-
});
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
var shouldLog = (0, testUtil_js_1.wrapTest)(function (test) { return function (method, level) {
|
|
266
|
-
var sl = (0, index_js_1.createStandardLogForTest)(level);
|
|
267
|
-
var name = sl.toLogLevelName(level);
|
|
268
|
-
test("".concat(method, "() should log on level: ").concat(name, " (").concat(level, ")"), function () {
|
|
269
|
-
return assertLoggedAtLevel(sl, method, level);
|
|
270
|
-
});
|
|
271
|
-
}; });
|
|
272
|
-
var shouldNotLog = (0, testUtil_js_1.wrapTest)(function (test) { return function (method, level) {
|
|
273
|
-
var sl = (0, index_js_1.createStandardLogForTest)(level);
|
|
274
|
-
var name = sl.toLogLevelName(level);
|
|
275
|
-
test("".concat(method, "() should not log on level: ").concat(name, " (").concat(level, ")"), function () {
|
|
276
|
-
return assertNotLoggedAtLevel(sl, method, level);
|
|
277
|
-
});
|
|
278
|
-
}; });
|
|
279
|
-
var shouldLogWithLocalLevelOverride = (0, testUtil_js_1.wrapTest)(function (test) { return function (method, localLevel) {
|
|
280
|
-
var localName = (0, logLevels_js_1.toLogLevelName)(localLevel);
|
|
281
|
-
[logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
|
|
282
|
-
var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
|
|
283
|
-
test("".concat(method, "() should log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
|
|
284
|
-
var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
|
|
285
|
-
return assertLoggedAtLocalLevel(sl, method, localLevel);
|
|
286
|
-
});
|
|
287
|
-
});
|
|
288
|
-
}; });
|
|
289
|
-
var shouldNotLogWithLocalLevelOverride = (0, testUtil_js_1.wrapTest)(function (test) { return function (method, localLevel) {
|
|
290
|
-
var localName = (0, logLevels_js_1.toLogLevelName)(localLevel);
|
|
291
|
-
[logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
|
|
292
|
-
var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
|
|
293
|
-
test("".concat(method, "() should not log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
|
|
294
|
-
var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
|
|
295
|
-
return assertNotLoggedAtLocalLevel(sl, method, localLevel);
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
}; });
|
|
299
|
-
var shouldCallLogFunction = (0, testUtil_js_1.wrapTest)(function (test) { return function (callLevel, actualLevel) {
|
|
300
|
-
var method = (0, logLevels_js_1.toLogLevelName)(callLevel);
|
|
301
|
-
var name = (0, logLevels_js_1.toLogLevelName)(actualLevel);
|
|
302
|
-
test("".concat(method, "() should call log function on level: ").concat(name, " (").concat(actualLevel, ")"), function () {
|
|
303
|
-
var sl = (0, index_js_1.createStandardLogForTest)(actualLevel);
|
|
304
|
-
return assertLoggedAtCallLevel(sl, method, callLevel);
|
|
305
|
-
});
|
|
306
|
-
}; });
|
|
307
|
-
var shouldNotCallLogFunction = (0, testUtil_js_1.wrapTest)(function (test) { return function (callLevel, actualLevel) {
|
|
308
|
-
var method = (0, logLevels_js_1.toLogLevelName)(callLevel);
|
|
309
|
-
var name = (0, logLevels_js_1.toLogLevelName)(actualLevel);
|
|
310
|
-
test("".concat(method, "() should not call log function on level: ").concat(name, " (").concat(actualLevel, ")"), function () {
|
|
311
|
-
var sl = (0, index_js_1.createStandardLogForTest)(actualLevel);
|
|
312
|
-
return assertNotLoggedAtCallLevel(sl, method, callLevel, actualLevel);
|
|
313
|
-
});
|
|
314
|
-
}; });
|
|
315
|
-
var shouldCallLogFunctionWithLocalLevelOverride = (0, testUtil_js_1.wrapTest)(function (test) { return function (callLevel, localLevel) {
|
|
316
|
-
var method = (0, logLevels_js_1.toLogLevelName)(callLevel);
|
|
317
|
-
var localName = (0, logLevels_js_1.toLogLevelName)(localLevel);
|
|
318
|
-
[logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
|
|
319
|
-
var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
|
|
320
|
-
test("".concat(method, "() should log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
|
|
321
|
-
var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
|
|
322
|
-
return assertLoggedAtCallLevelOverrideLocalLevel(sl, method, localLevel, callLevel);
|
|
323
|
-
});
|
|
324
|
-
});
|
|
325
|
-
}; });
|
|
326
|
-
var shouldNotCallLogFunctionWithLocalLevelOverride = (0, testUtil_js_1.wrapTest)(function (test) { return function (callLevel, localLevel) {
|
|
327
|
-
var method = (0, logLevels_js_1.toLogLevelName)(callLevel);
|
|
328
|
-
var localName = (0, logLevels_js_1.toLogLevelName)(localLevel);
|
|
329
|
-
[logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
|
|
330
|
-
var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
|
|
331
|
-
test("".concat(method, "() should not log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
|
|
332
|
-
var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
|
|
333
|
-
return assertNotLoggedAtCallLevelOverrideLocalLevel(sl, method, localLevel, callLevel);
|
|
334
|
-
});
|
|
335
|
-
});
|
|
336
|
-
}; });
|
|
337
|
-
shouldNotLog('error', logLevels_js_1.logLevels.none);
|
|
338
|
-
shouldLog('error', logLevels_js_1.logLevels.error);
|
|
339
|
-
shouldLog('error', logLevels_js_1.logLevels.warn);
|
|
340
|
-
shouldLog('error', logLevels_js_1.logLevels.info);
|
|
341
|
-
shouldLog('error', logLevels_js_1.logLevels.debug);
|
|
342
|
-
shouldNotLogWithLocalLevelOverride('error', logLevels_js_1.logLevels.none);
|
|
343
|
-
shouldLogWithLocalLevelOverride('error', logLevels_js_1.logLevels.error);
|
|
344
|
-
shouldLogWithLocalLevelOverride('error', logLevels_js_1.logLevels.warn);
|
|
345
|
-
shouldLogWithLocalLevelOverride('error', logLevels_js_1.logLevels.info);
|
|
346
|
-
shouldLogWithLocalLevelOverride('error', logLevels_js_1.logLevels.debug);
|
|
347
|
-
shouldNotLog('warn', logLevels_js_1.logLevels.none);
|
|
348
|
-
shouldNotLog('warn', logLevels_js_1.logLevels.error);
|
|
349
|
-
shouldLog('warn', logLevels_js_1.logLevels.warn);
|
|
350
|
-
shouldLog('warn', logLevels_js_1.logLevels.info);
|
|
351
|
-
shouldLog('warn', logLevels_js_1.logLevels.debug);
|
|
352
|
-
shouldNotLogWithLocalLevelOverride('warn', logLevels_js_1.logLevels.none);
|
|
353
|
-
shouldNotLogWithLocalLevelOverride('warn', logLevels_js_1.logLevels.error);
|
|
354
|
-
shouldLogWithLocalLevelOverride('warn', logLevels_js_1.logLevels.warn);
|
|
355
|
-
shouldLogWithLocalLevelOverride('warn', logLevels_js_1.logLevels.info);
|
|
356
|
-
shouldLogWithLocalLevelOverride('warn', logLevels_js_1.logLevels.debug);
|
|
357
|
-
shouldNotLog('info', logLevels_js_1.logLevels.none);
|
|
358
|
-
shouldNotLog('info', logLevels_js_1.logLevels.error);
|
|
359
|
-
shouldNotLog('info', logLevels_js_1.logLevels.warn);
|
|
360
|
-
shouldLog('info', logLevels_js_1.logLevels.info);
|
|
361
|
-
shouldLog('info', logLevels_js_1.logLevels.debug);
|
|
362
|
-
shouldNotLogWithLocalLevelOverride('info', logLevels_js_1.logLevels.none);
|
|
363
|
-
shouldNotLogWithLocalLevelOverride('info', logLevels_js_1.logLevels.error);
|
|
364
|
-
shouldNotLogWithLocalLevelOverride('info', logLevels_js_1.logLevels.warn);
|
|
365
|
-
shouldLogWithLocalLevelOverride('info', logLevels_js_1.logLevels.info);
|
|
366
|
-
shouldLogWithLocalLevelOverride('info', logLevels_js_1.logLevels.debug);
|
|
367
|
-
shouldNotLog('debug', logLevels_js_1.logLevels.none);
|
|
368
|
-
shouldNotLog('debug', logLevels_js_1.logLevels.error);
|
|
369
|
-
shouldNotLog('debug', logLevels_js_1.logLevels.warn);
|
|
370
|
-
shouldNotLog('debug', logLevels_js_1.logLevels.info);
|
|
371
|
-
shouldLog('debug', logLevels_js_1.logLevels.debug);
|
|
372
|
-
shouldNotLogWithLocalLevelOverride('debug', logLevels_js_1.logLevels.none);
|
|
373
|
-
shouldNotLogWithLocalLevelOverride('debug', logLevels_js_1.logLevels.error);
|
|
374
|
-
shouldNotLogWithLocalLevelOverride('debug', logLevels_js_1.logLevels.warn);
|
|
375
|
-
shouldNotLogWithLocalLevelOverride('debug', logLevels_js_1.logLevels.info);
|
|
376
|
-
shouldLogWithLocalLevelOverride('debug', logLevels_js_1.logLevels.debug);
|
|
377
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.none);
|
|
378
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.error);
|
|
379
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn);
|
|
380
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.info);
|
|
381
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.debug);
|
|
382
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.none);
|
|
383
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.error);
|
|
384
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn);
|
|
385
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.info);
|
|
386
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.debug);
|
|
387
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.none);
|
|
388
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.error);
|
|
389
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.warn);
|
|
390
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info);
|
|
391
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.debug);
|
|
392
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.none);
|
|
393
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.error);
|
|
394
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.warn);
|
|
395
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info);
|
|
396
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.debug);
|
|
397
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.none);
|
|
398
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.error);
|
|
399
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.warn);
|
|
400
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.info);
|
|
401
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug);
|
|
402
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.none);
|
|
403
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.error);
|
|
404
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.warn);
|
|
405
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.info);
|
|
406
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug);
|
|
407
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.none);
|
|
408
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.error);
|
|
409
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.warn);
|
|
410
|
-
shouldNotCallLogFunction(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.info);
|
|
411
|
-
shouldCallLogFunction(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.debug);
|
|
412
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.none);
|
|
413
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.error);
|
|
414
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.warn);
|
|
415
|
-
shouldNotCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.info);
|
|
416
|
-
shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.debug);
|
|
417
|
-
});
|
|
418
|
-
it('writes entry directly', function () {
|
|
419
|
-
var sl = (0, index_js_1.createStandardLogForTest)();
|
|
420
|
-
var log = sl.getLogger('write-entry');
|
|
421
|
-
var entry = { id: 'write-entry', level: logLevels_js_1.logLevels.info, args: ['abc'], timestamp: new Date() };
|
|
422
|
-
log.write(entry);
|
|
423
|
-
assertron_1.assertron.satisfies(sl.reporter.logs, [entry]);
|
|
424
|
-
});
|
|
425
|
-
test.each(['on', 'count', 'error', 'warn', 'info', 'debug'])('method %s is readonly', function (name) {
|
|
426
|
-
var sl = (0, index_js_1.createStandardLog)();
|
|
427
|
-
var log = sl.getLogger("".concat(name, " is readonly"));
|
|
428
|
-
assertron_1.assertron.throws(function () { return log[name] = true; });
|
|
429
|
-
});
|
|
430
|
-
describe('on()', function () {
|
|
431
|
-
it('log using log argument', function () {
|
|
432
|
-
var sl = (0, index_js_1.createStandardLogForTest)();
|
|
433
|
-
var logger = sl.getLogger('log on fn');
|
|
434
|
-
logger.on('error', function (log) { log('value'); });
|
|
435
|
-
assertron_1.assertron.satisfies(sl.reporter.logs, [
|
|
436
|
-
{ id: 'log on fn', level: logLevels_js_1.logLevels.error, args: ['value'] }
|
|
437
|
-
]);
|
|
438
|
-
});
|
|
439
|
-
it('can take log level name in first argument', function () {
|
|
440
|
-
var sl = (0, index_js_1.createStandardLogForTest)();
|
|
441
|
-
var log = sl.getLogger('string-on');
|
|
442
|
-
log.on('debug', function () { return; });
|
|
443
|
-
});
|
|
444
|
-
});
|
|
445
|
-
describe('count()', function () {
|
|
446
|
-
test('will increment the counter', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
447
|
-
var sl, logger;
|
|
448
|
-
return __generator(this, function (_a) {
|
|
449
|
-
sl = (0, index_js_1.createStandardLogForTest)();
|
|
450
|
-
logger = sl.getLogger('inc counter');
|
|
451
|
-
logger.count();
|
|
452
|
-
logger.count();
|
|
453
|
-
assertron_1.assertron.satisfies(sl.reporter.logs, [
|
|
454
|
-
{ id: 'inc counter', level: logLevels_js_1.logLevels.debug, args: [1] },
|
|
455
|
-
{ id: 'inc counter', level: logLevels_js_1.logLevels.debug, args: [2] }
|
|
456
|
-
]);
|
|
457
|
-
return [2 /*return*/];
|
|
458
|
-
});
|
|
459
|
-
}); });
|
|
460
|
-
test('append args after the counter', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
461
|
-
var sl, id, logger;
|
|
462
|
-
return __generator(this, function (_a) {
|
|
463
|
-
sl = (0, index_js_1.createStandardLogForTest)(logLevels_js_1.logLevels.debug);
|
|
464
|
-
id = 'inc with args';
|
|
465
|
-
logger = sl.getLogger(id);
|
|
466
|
-
logger.count('msg1', 'msg2');
|
|
467
|
-
assertron_1.assertron.satisfies(sl.reporter.logs, [
|
|
468
|
-
{ id: id, level: logLevels_js_1.logLevels.debug, args: [1, 'msg1', 'msg2'] }
|
|
469
|
-
]);
|
|
470
|
-
return [2 /*return*/];
|
|
471
|
-
});
|
|
472
|
-
}); });
|
|
473
|
-
test('not log if log level is less than debug', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
474
|
-
var sl, id, logger;
|
|
475
|
-
return __generator(this, function (_a) {
|
|
476
|
-
sl = (0, index_js_1.createStandardLogForTest)(logLevels_js_1.logLevels.debug - 1);
|
|
477
|
-
id = 'inc with args';
|
|
478
|
-
logger = sl.getLogger(id);
|
|
479
|
-
logger.count('msg1', 'msg2');
|
|
480
|
-
expect(sl.reporter.logs.length).toBe(0);
|
|
481
|
-
return [2 /*return*/];
|
|
482
|
-
});
|
|
483
|
-
}); });
|
|
484
|
-
});
|
|
485
|
-
test('logger with custom level', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
486
|
-
var mem, sl, logger;
|
|
487
|
-
return __generator(this, function (_a) {
|
|
488
|
-
mem = (0, memory_js_1.createMemoryLogReporter)();
|
|
489
|
-
sl = (0, index_js_1.createStandardLog)({ customLevels: { 'cust_lvl': 100 }, reporters: [mem] });
|
|
490
|
-
logger = sl.getLogger('cust');
|
|
491
|
-
logger.cust_lvl('a', 'b');
|
|
492
|
-
assertron_1.assertron.satisfies(mem.logs, [{ id: 'cust', level: 100, args: ['a', 'b'] }]);
|
|
493
|
-
return [2 /*return*/];
|
|
494
|
-
});
|
|
495
|
-
}); });
|
|
496
|
-
describe('getLogger([,{ writeTo }])', function () {
|
|
497
|
-
function testWriteTo(id, options, handler) {
|
|
498
|
-
var memReporter = (0, memory_js_1.createMemoryLogReporter)();
|
|
499
|
-
var specialReporter = (0, memory_js_1.createMemoryLogReporter)({ id: 'special' });
|
|
500
|
-
var sl = (0, index_js_1.createStandardLog)({ reporters: [memReporter, specialReporter] });
|
|
501
|
-
var log = sl.getLogger(id, options);
|
|
502
|
-
handler(log, memReporter.logs, specialReporter.logs, sl);
|
|
503
|
-
}
|
|
504
|
-
it('can specify which reporter to use by name', function () {
|
|
505
|
-
testWriteTo('writeTo-string', { writeTo: 'special' }, function (log, memLogs, specialLogs) {
|
|
506
|
-
log.error('error message');
|
|
507
|
-
expect(memLogs.length).toEqual(0);
|
|
508
|
-
expect(specialLogs.length).toEqual(1);
|
|
509
|
-
});
|
|
510
|
-
});
|
|
511
|
-
it('can specify which reporter to use by regex', function () {
|
|
512
|
-
testWriteTo('writeTo-regex', { writeTo: /^spec/ }, function (log, memLogs, specialLogs) {
|
|
513
|
-
log.error('error message');
|
|
514
|
-
expect(memLogs.length).toEqual(0);
|
|
515
|
-
expect(specialLogs.length).toEqual(1);
|
|
516
|
-
});
|
|
517
|
-
});
|
|
518
|
-
it('can specify which reporter to use by RegExp', function () {
|
|
519
|
-
testWriteTo('writeTo-RegExp', { writeTo: new RegExp('^spec') }, function (log, memLogs, specialLogs) {
|
|
520
|
-
log.error('error message');
|
|
521
|
-
expect(memLogs.length).toEqual(0);
|
|
522
|
-
expect(specialLogs.length).toEqual(1);
|
|
523
|
-
});
|
|
524
|
-
});
|
|
525
|
-
it('can specify which reporter to use by function', function () {
|
|
526
|
-
testWriteTo('writeTo-fn', { writeTo: function (id) { return id === 'special'; } }, function (log, memLogs, specialLogs) {
|
|
527
|
-
log.error('error message');
|
|
528
|
-
expect(memLogs.length).toEqual(0);
|
|
529
|
-
expect(specialLogs.length).toEqual(1);
|
|
530
|
-
});
|
|
531
|
-
});
|
|
532
|
-
it('can specify custom reporter', function () {
|
|
533
|
-
var reporter = (0, memory_js_1.createMemoryLogReporter)({ id: 'custom mem' });
|
|
534
|
-
testWriteTo('writeTo-reporter', { writeTo: reporter }, function (log, memLogs, specialLogs) {
|
|
535
|
-
log.error('error message');
|
|
536
|
-
expect(memLogs.length).toEqual(0);
|
|
537
|
-
expect(specialLogs.length).toEqual(0);
|
|
538
|
-
expect(reporter.logs.length).toEqual(1);
|
|
539
|
-
});
|
|
540
|
-
});
|
|
541
|
-
test('the custom console reporter cannot pick up logs from other loggers', function () {
|
|
542
|
-
// if not, it would be a security issue as the new reporter
|
|
543
|
-
// can capture the logs from other logger and send it elsewhere
|
|
544
|
-
var reporter = (0, memory_js_1.createMemoryLogReporter)({ id: 'custom mem' });
|
|
545
|
-
testWriteTo('writeTo-reporter-no-override', { writeTo: reporter }, function (_, memLogs, specialLogs, sl) {
|
|
546
|
-
var log = sl.getLogger('writeTo-reporter-no-override-2');
|
|
547
|
-
log.error('error message');
|
|
548
|
-
expect(reporter.logs.length).toEqual(0);
|
|
549
|
-
});
|
|
550
|
-
});
|
|
551
|
-
});
|
|
552
|
-
});
|
|
553
|
-
describe('suppressLogs()', function () {
|
|
554
|
-
test('suppress log', function () {
|
|
555
|
-
var sl = (0, index_js_1.createStandardLogForTest)();
|
|
556
|
-
var log = sl.getLogger('l');
|
|
557
|
-
(0, index_js_1.suppressLogs)(function () {
|
|
558
|
-
log.alert('should not see me');
|
|
559
|
-
}, log);
|
|
560
|
-
expect(sl.reporter.getLogMessageWithLevel()).toBe('');
|
|
561
|
-
});
|
|
562
|
-
test('suppress multiple logs', function () {
|
|
563
|
-
var sl = (0, index_js_1.createStandardLogForTest)();
|
|
564
|
-
var log1 = sl.getLogger('l1');
|
|
565
|
-
var log2 = sl.getLogger('l2');
|
|
566
|
-
(0, index_js_1.suppressLogs)(function () {
|
|
567
|
-
log1.alert('should not see me');
|
|
568
|
-
log2.alert('should not see me too');
|
|
569
|
-
}, log1, log2);
|
|
570
|
-
expect(sl.reporter.getLogMessageWithLevel()).toBe('');
|
|
571
|
-
});
|
|
572
|
-
test('return block result', function () {
|
|
573
|
-
var sl = (0, index_js_1.createStandardLogForTest)();
|
|
574
|
-
var log1 = sl.getLogger('l');
|
|
575
|
-
var log2 = sl.getLogger('l2');
|
|
576
|
-
var a = (0, index_js_1.suppressLogs)(function () { return 1; }, log1, log2);
|
|
577
|
-
expect(a).toBe(1);
|
|
578
|
-
});
|
|
579
|
-
});
|
|
580
|
-
describe('getLogger()', function () {
|
|
581
|
-
it('gets a logger that logs to console by default', function () {
|
|
582
|
-
var log = (0, index_js_1.getLogger)('default');
|
|
583
|
-
log.info('from global log, expected to be printed');
|
|
584
|
-
});
|
|
585
|
-
it('write to local reporter', function () {
|
|
586
|
-
var reporter = (0, memory_js_1.createMemoryLogReporter)();
|
|
587
|
-
var log = (0, index_js_1.getLogger)('to local reporter', { writeTo: reporter });
|
|
588
|
-
log.warn('hello');
|
|
589
|
-
expect(reporter.logs.length).toBe(1);
|
|
590
|
-
});
|
|
591
|
-
});
|
|
592
|
-
describe('configGlobal()', function () {
|
|
593
|
-
beforeEach(function () {
|
|
594
|
-
standardLog_js_1.ctx.gsl = undefined;
|
|
595
|
-
standardLog_js_1.ctx.configured = false;
|
|
596
|
-
});
|
|
597
|
-
it('configure the global instance', function () {
|
|
598
|
-
var mem = (0, memory_js_1.createMemoryLogReporter)();
|
|
599
|
-
(0, standardLog_js_1.configGlobal)({ logLevel: logLevels_js_1.logLevels.error, reporters: [mem] });
|
|
600
|
-
var log = (0, index_js_1.getLogger)('default');
|
|
601
|
-
log.error('error message');
|
|
602
|
-
log.info('info message');
|
|
603
|
-
expect(mem.logs.length).toBe(1);
|
|
604
|
-
});
|
|
605
|
-
it('can call after getLogger', function () {
|
|
606
|
-
var log = (0, index_js_1.getLogger)('default');
|
|
607
|
-
log.info('from global log, expected to be printed');
|
|
608
|
-
var mem = (0, memory_js_1.createMemoryLogReporter)();
|
|
609
|
-
(0, standardLog_js_1.configGlobal)({ logLevel: logLevels_js_1.logLevels.error, reporters: [mem] });
|
|
610
|
-
log.error('from global log, expected to be printed');
|
|
611
|
-
log.info('from global log, this should not be printed');
|
|
612
|
-
expect(mem.logs.length).toBe(1);
|
|
613
|
-
});
|
|
614
|
-
it('will emit a warning when called twice', function () {
|
|
615
|
-
var mem = (0, memory_js_1.createMemoryLogReporter)();
|
|
616
|
-
(0, standardLog_js_1.configGlobal)({ reporters: [mem] });
|
|
617
|
-
(0, standardLog_js_1.configGlobal)({ reporters: [] });
|
|
618
|
-
assertron_1.assertron.satisfies(mem.logs, [{ id: 'standard-log', level: logLevels_js_1.logLevels.warn, args: [/being called more than once/] }]);
|
|
619
|
-
});
|
|
620
|
-
it('remove existing reporter', function () {
|
|
621
|
-
var _a;
|
|
622
|
-
var log = (0, index_js_1.getLogger)('default');
|
|
623
|
-
log.info('from global log, expected to be printed');
|
|
624
|
-
var mem = (0, memory_js_1.createMemoryLogReporter)();
|
|
625
|
-
(0, standardLog_js_1.configGlobal)({ logLevel: logLevels_js_1.logLevels.error, reporters: [mem] });
|
|
626
|
-
var reporters = (_a = standardLog_js_1.ctx.gsl) === null || _a === void 0 ? void 0 : _a.store.reporters;
|
|
627
|
-
expect(reporters).toEqual([mem]);
|
|
628
|
-
});
|
|
629
|
-
});
|
|
630
|
-
describe('getNonConsoleLogger()', function () {
|
|
631
|
-
it('will not write to console', function () {
|
|
632
|
-
var memory = (0, memory_js_1.createMemoryLogReporter)();
|
|
633
|
-
var c = (0, memory_js_1.createMemoryWithConsoleLogReporter)();
|
|
634
|
-
var sl = (0, index_js_1.createStandardLog)({ reporters: [memory, c] });
|
|
635
|
-
var log = sl.getNonConsoleLogger('non-console');
|
|
636
|
-
log.info('should not see this');
|
|
637
|
-
expect(c.logs).toEqual([]);
|
|
638
|
-
});
|
|
639
|
-
it('no non-console reporter should get logger with noop', function () {
|
|
640
|
-
var reporter = (0, memory_js_1.createMemoryWithConsoleLogReporter)();
|
|
641
|
-
var sl = (0, index_js_1.createStandardLog)({ reporters: [reporter] });
|
|
642
|
-
var log = sl.getNonConsoleLogger('non-console');
|
|
643
|
-
log.emergency('should not see this');
|
|
644
|
-
log.alert('should not see this');
|
|
645
|
-
log.critical('should not see this');
|
|
646
|
-
log.error('should not see this');
|
|
647
|
-
log.warn('should not see this');
|
|
648
|
-
log.notice('should not see this');
|
|
649
|
-
log.info('should not see this');
|
|
650
|
-
log.debug('should not see this');
|
|
651
|
-
log.trace('should not see this');
|
|
652
|
-
log.planck('should not see this');
|
|
653
|
-
log.count('should not see this');
|
|
654
|
-
log.write({ id: 'x', args: ['y'], level: logLevels_js_1.logLevels.alert, timestamp: new Date() });
|
|
655
|
-
log.on(logLevels_js_1.logLevels.emergency, function () { return 'should not see this'; });
|
|
656
|
-
expect(reporter.logs).toEqual([]);
|
|
657
|
-
});
|
|
658
|
-
it('with existing id should fail', function () {
|
|
659
|
-
var memory = (0, memory_js_1.createMemoryLogReporter)();
|
|
660
|
-
var c = (0, memory_js_1.createMemoryWithConsoleLogReporter)();
|
|
661
|
-
var sl = (0, index_js_1.createStandardLog)({ reporters: [memory, c] });
|
|
662
|
-
sl.getLogger('exist-expected to see');
|
|
663
|
-
var log = sl.getNonConsoleLogger('exist-expected to see');
|
|
664
|
-
log.error('should not see this');
|
|
665
|
-
assertron_1.assertron.satisfies(memory.logs, [{
|
|
666
|
-
id: 'standard-log',
|
|
667
|
-
args: ["attempt to create a non-console logger with existing id ('exist-expected to see'), ignoring"],
|
|
668
|
-
level: logLevels_js_1.logLevels.warn
|
|
669
|
-
}]);
|
|
670
|
-
});
|
|
671
|
-
it('will get the same non-console logger if spplies with the same name', function () {
|
|
672
|
-
var sl = (0, index_js_1.createStandardLogForTest)();
|
|
673
|
-
var logA = sl.getNonConsoleLogger('non-console');
|
|
674
|
-
var logB = sl.getNonConsoleLogger('non-console');
|
|
675
|
-
expect(logA).toStrictEqual(logB);
|
|
676
|
-
});
|
|
677
|
-
});
|
|
678
|
-
//# sourceMappingURL=standardLog.spec.js.map
|