1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var context_1 = require("../logger/context");
- var level_1 = require("../logger/level");
- var extendArray = function (array) {
- return Object.defineProperty(array, 'last', {
- configurable: true,
- get: function () {
- return this[this.length - 1];
- },
- });
- };
- exports.extendArray = extendArray;
- var LogTargetMock = (function () {
- function LogTargetMock(minLevel) {
- if (minLevel === void 0) { minLevel = -Infinity; }
- var _this = this;
- this.minLevel = minLevel;
- this.messages = Object.defineProperties(extendArray([]), {
- trace: { get: function () { return _this.filteredMessages(level_1.LogLevels.trace); } },
- debug: { get: function () { return _this.filteredMessages(level_1.LogLevels.debug); } },
- info: { get: function () { return _this.filteredMessages(level_1.LogLevels.info); } },
- warn: { get: function () { return _this.filteredMessages(level_1.LogLevels.warn); } },
- error: { get: function () { return _this.filteredMessages(level_1.LogLevels.error); } },
- fatal: { get: function () { return _this.filteredMessages(level_1.LogLevels.fatal); } },
- });
- this.lines = Object.defineProperties(extendArray([]), {
- trace: { get: function () { return _this.filteredLines(level_1.LogLevels.trace); } },
- debug: { get: function () { return _this.filteredLines(level_1.LogLevels.debug); } },
- info: { get: function () { return _this.filteredLines(level_1.LogLevels.info); } },
- warn: { get: function () { return _this.filteredLines(level_1.LogLevels.warn); } },
- error: { get: function () { return _this.filteredLines(level_1.LogLevels.error); } },
- fatal: { get: function () { return _this.filteredLines(level_1.LogLevels.fatal); } },
- });
- this.stream = {
- write: function (msg) { return !!_this.lines.push(msg); },
- };
- }
- LogTargetMock.prototype.format = function (msg) {
- this.messages.push(msg);
- var lvl = msg.context[context_1.LogContexts.logLevel];
- if (lvl != null) {
- return "[level:" + lvl + "] " + msg.message;
- }
- return msg.message;
- };
- LogTargetMock.prototype.clear = function () {
- this.messages.splice(0, this.messages.length);
- this.lines.splice(0, this.lines.length);
- };
- LogTargetMock.prototype.filteredMessages = function (level, untilLevel) {
- var filter;
- if (level == null) {
- filter = function (m) { return m.context[context_1.LogContexts.logLevel] == null; };
- }
- else if (untilLevel != null) {
- filter = function (m) {
- var lvl = m.context[context_1.LogContexts.logLevel];
- return lvl != null && lvl >= level && lvl <= untilLevel;
- };
- }
- else {
- filter = function (m) { return m.context[context_1.LogContexts.logLevel] === level; };
- }
- return extendArray(this.messages.filter(filter));
- };
- LogTargetMock.prototype.filteredLines = function (level, untilLevel) {
- var extractLevel = function (line) {
- var level = (line.match(/^\[level:([0-9]+)\] /) || [])[1];
- return level == null ? undefined : parseInt(level, 10);
- };
- var filter;
- if (level == null) {
- filter = function (line) { return extractLevel(line) === undefined; };
- }
- else if (untilLevel != null) {
- filter = function (line) {
- var lvl = extractLevel(line);
- return lvl != null && lvl >= level && lvl <= untilLevel;
- };
- }
- else {
- filter = function (line) { return extractLevel(line) === level; };
- }
- return extendArray(this.lines.filter(filter));
- };
- return LogTargetMock;
- }());
- exports.LogTargetMock = LogTargetMock;
|