@rabbit-company/logger 1.0.0 → 2.0.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/module/logger.js +543 -0
- package/package.json +7 -4
- package/src/logger.js +0 -96
package/module/logger.js
ADDED
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
var __accessCheck = (obj, member, msg) => {
|
|
8
|
+
if (!member.has(obj))
|
|
9
|
+
throw TypeError("Cannot " + msg);
|
|
10
|
+
};
|
|
11
|
+
var __privateGet = (obj, member, getter) => {
|
|
12
|
+
__accessCheck(obj, member, "read from private field");
|
|
13
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
14
|
+
};
|
|
15
|
+
var __privateAdd = (obj, member, value) => {
|
|
16
|
+
if (member.has(obj))
|
|
17
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
18
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
19
|
+
};
|
|
20
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
21
|
+
__accessCheck(obj, member, "write to private field");
|
|
22
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
25
|
+
var __privateMethod = (obj, member, method) => {
|
|
26
|
+
__accessCheck(obj, member, "access private method");
|
|
27
|
+
return method;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
31
|
+
var ANSI_BACKGROUND_OFFSET = 10;
|
|
32
|
+
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
33
|
+
var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
|
|
34
|
+
var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
|
|
35
|
+
var styles = {
|
|
36
|
+
modifier: {
|
|
37
|
+
reset: [0, 0],
|
|
38
|
+
// 21 isn't widely supported and 22 does the same thing
|
|
39
|
+
bold: [1, 22],
|
|
40
|
+
dim: [2, 22],
|
|
41
|
+
italic: [3, 23],
|
|
42
|
+
underline: [4, 24],
|
|
43
|
+
overline: [53, 55],
|
|
44
|
+
inverse: [7, 27],
|
|
45
|
+
hidden: [8, 28],
|
|
46
|
+
strikethrough: [9, 29]
|
|
47
|
+
},
|
|
48
|
+
color: {
|
|
49
|
+
black: [30, 39],
|
|
50
|
+
red: [31, 39],
|
|
51
|
+
green: [32, 39],
|
|
52
|
+
yellow: [33, 39],
|
|
53
|
+
blue: [34, 39],
|
|
54
|
+
magenta: [35, 39],
|
|
55
|
+
cyan: [36, 39],
|
|
56
|
+
white: [37, 39],
|
|
57
|
+
// Bright color
|
|
58
|
+
blackBright: [90, 39],
|
|
59
|
+
gray: [90, 39],
|
|
60
|
+
// Alias of `blackBright`
|
|
61
|
+
grey: [90, 39],
|
|
62
|
+
// Alias of `blackBright`
|
|
63
|
+
redBright: [91, 39],
|
|
64
|
+
greenBright: [92, 39],
|
|
65
|
+
yellowBright: [93, 39],
|
|
66
|
+
blueBright: [94, 39],
|
|
67
|
+
magentaBright: [95, 39],
|
|
68
|
+
cyanBright: [96, 39],
|
|
69
|
+
whiteBright: [97, 39]
|
|
70
|
+
},
|
|
71
|
+
bgColor: {
|
|
72
|
+
bgBlack: [40, 49],
|
|
73
|
+
bgRed: [41, 49],
|
|
74
|
+
bgGreen: [42, 49],
|
|
75
|
+
bgYellow: [43, 49],
|
|
76
|
+
bgBlue: [44, 49],
|
|
77
|
+
bgMagenta: [45, 49],
|
|
78
|
+
bgCyan: [46, 49],
|
|
79
|
+
bgWhite: [47, 49],
|
|
80
|
+
// Bright color
|
|
81
|
+
bgBlackBright: [100, 49],
|
|
82
|
+
bgGray: [100, 49],
|
|
83
|
+
// Alias of `bgBlackBright`
|
|
84
|
+
bgGrey: [100, 49],
|
|
85
|
+
// Alias of `bgBlackBright`
|
|
86
|
+
bgRedBright: [101, 49],
|
|
87
|
+
bgGreenBright: [102, 49],
|
|
88
|
+
bgYellowBright: [103, 49],
|
|
89
|
+
bgBlueBright: [104, 49],
|
|
90
|
+
bgMagentaBright: [105, 49],
|
|
91
|
+
bgCyanBright: [106, 49],
|
|
92
|
+
bgWhiteBright: [107, 49]
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var modifierNames = Object.keys(styles.modifier);
|
|
96
|
+
var foregroundColorNames = Object.keys(styles.color);
|
|
97
|
+
var backgroundColorNames = Object.keys(styles.bgColor);
|
|
98
|
+
var colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
99
|
+
function assembleStyles() {
|
|
100
|
+
const codes = /* @__PURE__ */ new Map();
|
|
101
|
+
for (const [groupName, group] of Object.entries(styles)) {
|
|
102
|
+
for (const [styleName, style] of Object.entries(group)) {
|
|
103
|
+
styles[styleName] = {
|
|
104
|
+
open: `\x1B[${style[0]}m`,
|
|
105
|
+
close: `\x1B[${style[1]}m`
|
|
106
|
+
};
|
|
107
|
+
group[styleName] = styles[styleName];
|
|
108
|
+
codes.set(style[0], style[1]);
|
|
109
|
+
}
|
|
110
|
+
Object.defineProperty(styles, groupName, {
|
|
111
|
+
value: group,
|
|
112
|
+
enumerable: false
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
Object.defineProperty(styles, "codes", {
|
|
116
|
+
value: codes,
|
|
117
|
+
enumerable: false
|
|
118
|
+
});
|
|
119
|
+
styles.color.close = "\x1B[39m";
|
|
120
|
+
styles.bgColor.close = "\x1B[49m";
|
|
121
|
+
styles.color.ansi = wrapAnsi16();
|
|
122
|
+
styles.color.ansi256 = wrapAnsi256();
|
|
123
|
+
styles.color.ansi16m = wrapAnsi16m();
|
|
124
|
+
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
125
|
+
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
126
|
+
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
127
|
+
Object.defineProperties(styles, {
|
|
128
|
+
rgbToAnsi256: {
|
|
129
|
+
value(red, green, blue) {
|
|
130
|
+
if (red === green && green === blue) {
|
|
131
|
+
if (red < 8) {
|
|
132
|
+
return 16;
|
|
133
|
+
}
|
|
134
|
+
if (red > 248) {
|
|
135
|
+
return 231;
|
|
136
|
+
}
|
|
137
|
+
return Math.round((red - 8) / 247 * 24) + 232;
|
|
138
|
+
}
|
|
139
|
+
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
140
|
+
},
|
|
141
|
+
enumerable: false
|
|
142
|
+
},
|
|
143
|
+
hexToRgb: {
|
|
144
|
+
value(hex) {
|
|
145
|
+
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
146
|
+
if (!matches) {
|
|
147
|
+
return [0, 0, 0];
|
|
148
|
+
}
|
|
149
|
+
let [colorString] = matches;
|
|
150
|
+
if (colorString.length === 3) {
|
|
151
|
+
colorString = [...colorString].map((character) => character + character).join("");
|
|
152
|
+
}
|
|
153
|
+
const integer = Number.parseInt(colorString, 16);
|
|
154
|
+
return [
|
|
155
|
+
/* eslint-disable no-bitwise */
|
|
156
|
+
integer >> 16 & 255,
|
|
157
|
+
integer >> 8 & 255,
|
|
158
|
+
integer & 255
|
|
159
|
+
/* eslint-enable no-bitwise */
|
|
160
|
+
];
|
|
161
|
+
},
|
|
162
|
+
enumerable: false
|
|
163
|
+
},
|
|
164
|
+
hexToAnsi256: {
|
|
165
|
+
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
166
|
+
enumerable: false
|
|
167
|
+
},
|
|
168
|
+
ansi256ToAnsi: {
|
|
169
|
+
value(code) {
|
|
170
|
+
if (code < 8) {
|
|
171
|
+
return 30 + code;
|
|
172
|
+
}
|
|
173
|
+
if (code < 16) {
|
|
174
|
+
return 90 + (code - 8);
|
|
175
|
+
}
|
|
176
|
+
let red;
|
|
177
|
+
let green;
|
|
178
|
+
let blue;
|
|
179
|
+
if (code >= 232) {
|
|
180
|
+
red = ((code - 232) * 10 + 8) / 255;
|
|
181
|
+
green = red;
|
|
182
|
+
blue = red;
|
|
183
|
+
} else {
|
|
184
|
+
code -= 16;
|
|
185
|
+
const remainder = code % 36;
|
|
186
|
+
red = Math.floor(code / 36) / 5;
|
|
187
|
+
green = Math.floor(remainder / 6) / 5;
|
|
188
|
+
blue = remainder % 6 / 5;
|
|
189
|
+
}
|
|
190
|
+
const value = Math.max(red, green, blue) * 2;
|
|
191
|
+
if (value === 0) {
|
|
192
|
+
return 30;
|
|
193
|
+
}
|
|
194
|
+
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
195
|
+
if (value === 2) {
|
|
196
|
+
result += 60;
|
|
197
|
+
}
|
|
198
|
+
return result;
|
|
199
|
+
},
|
|
200
|
+
enumerable: false
|
|
201
|
+
},
|
|
202
|
+
rgbToAnsi: {
|
|
203
|
+
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
204
|
+
enumerable: false
|
|
205
|
+
},
|
|
206
|
+
hexToAnsi: {
|
|
207
|
+
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
208
|
+
enumerable: false
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
return styles;
|
|
212
|
+
}
|
|
213
|
+
var ansiStyles = assembleStyles();
|
|
214
|
+
var ansi_styles_default = ansiStyles;
|
|
215
|
+
|
|
216
|
+
// node_modules/chalk/source/vendor/supports-color/browser.js
|
|
217
|
+
var level = (() => {
|
|
218
|
+
if (navigator.userAgentData) {
|
|
219
|
+
const brand = navigator.userAgentData.brands.find(({ brand: brand2 }) => brand2 === "Chromium");
|
|
220
|
+
if (brand && brand.version > 93) {
|
|
221
|
+
return 3;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
if (/\b(Chrome|Chromium)\//.test(navigator.userAgent)) {
|
|
225
|
+
return 1;
|
|
226
|
+
}
|
|
227
|
+
return 0;
|
|
228
|
+
})();
|
|
229
|
+
var colorSupport = level !== 0 && {
|
|
230
|
+
level,
|
|
231
|
+
hasBasic: true,
|
|
232
|
+
has256: level >= 2,
|
|
233
|
+
has16m: level >= 3
|
|
234
|
+
};
|
|
235
|
+
var supportsColor = {
|
|
236
|
+
stdout: colorSupport,
|
|
237
|
+
stderr: colorSupport
|
|
238
|
+
};
|
|
239
|
+
var browser_default = supportsColor;
|
|
240
|
+
|
|
241
|
+
// node_modules/chalk/source/utilities.js
|
|
242
|
+
function stringReplaceAll(string, substring, replacer) {
|
|
243
|
+
let index = string.indexOf(substring);
|
|
244
|
+
if (index === -1) {
|
|
245
|
+
return string;
|
|
246
|
+
}
|
|
247
|
+
const substringLength = substring.length;
|
|
248
|
+
let endIndex = 0;
|
|
249
|
+
let returnValue = "";
|
|
250
|
+
do {
|
|
251
|
+
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
252
|
+
endIndex = index + substringLength;
|
|
253
|
+
index = string.indexOf(substring, endIndex);
|
|
254
|
+
} while (index !== -1);
|
|
255
|
+
returnValue += string.slice(endIndex);
|
|
256
|
+
return returnValue;
|
|
257
|
+
}
|
|
258
|
+
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
259
|
+
let endIndex = 0;
|
|
260
|
+
let returnValue = "";
|
|
261
|
+
do {
|
|
262
|
+
const gotCR = string[index - 1] === "\r";
|
|
263
|
+
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
|
|
264
|
+
endIndex = index + 1;
|
|
265
|
+
index = string.indexOf("\n", endIndex);
|
|
266
|
+
} while (index !== -1);
|
|
267
|
+
returnValue += string.slice(endIndex);
|
|
268
|
+
return returnValue;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// node_modules/chalk/source/index.js
|
|
272
|
+
var { stdout: stdoutColor, stderr: stderrColor } = browser_default;
|
|
273
|
+
var GENERATOR = Symbol("GENERATOR");
|
|
274
|
+
var STYLER = Symbol("STYLER");
|
|
275
|
+
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
276
|
+
var levelMapping = [
|
|
277
|
+
"ansi",
|
|
278
|
+
"ansi",
|
|
279
|
+
"ansi256",
|
|
280
|
+
"ansi16m"
|
|
281
|
+
];
|
|
282
|
+
var styles2 = /* @__PURE__ */ Object.create(null);
|
|
283
|
+
var applyOptions = (object, options = {}) => {
|
|
284
|
+
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
285
|
+
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
286
|
+
}
|
|
287
|
+
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
288
|
+
object.level = options.level === void 0 ? colorLevel : options.level;
|
|
289
|
+
};
|
|
290
|
+
var chalkFactory = (options) => {
|
|
291
|
+
const chalk2 = (...strings) => strings.join(" ");
|
|
292
|
+
applyOptions(chalk2, options);
|
|
293
|
+
Object.setPrototypeOf(chalk2, createChalk.prototype);
|
|
294
|
+
return chalk2;
|
|
295
|
+
};
|
|
296
|
+
function createChalk(options) {
|
|
297
|
+
return chalkFactory(options);
|
|
298
|
+
}
|
|
299
|
+
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
300
|
+
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
301
|
+
styles2[styleName] = {
|
|
302
|
+
get() {
|
|
303
|
+
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
304
|
+
Object.defineProperty(this, styleName, { value: builder });
|
|
305
|
+
return builder;
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
styles2.visible = {
|
|
310
|
+
get() {
|
|
311
|
+
const builder = createBuilder(this, this[STYLER], true);
|
|
312
|
+
Object.defineProperty(this, "visible", { value: builder });
|
|
313
|
+
return builder;
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
var getModelAnsi = (model, level2, type, ...arguments_) => {
|
|
317
|
+
if (model === "rgb") {
|
|
318
|
+
if (level2 === "ansi16m") {
|
|
319
|
+
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
320
|
+
}
|
|
321
|
+
if (level2 === "ansi256") {
|
|
322
|
+
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
323
|
+
}
|
|
324
|
+
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
325
|
+
}
|
|
326
|
+
if (model === "hex") {
|
|
327
|
+
return getModelAnsi("rgb", level2, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
328
|
+
}
|
|
329
|
+
return ansi_styles_default[type][model](...arguments_);
|
|
330
|
+
};
|
|
331
|
+
var usedModels = ["rgb", "hex", "ansi256"];
|
|
332
|
+
for (const model of usedModels) {
|
|
333
|
+
styles2[model] = {
|
|
334
|
+
get() {
|
|
335
|
+
const { level: level2 } = this;
|
|
336
|
+
return function(...arguments_) {
|
|
337
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level2], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
338
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
343
|
+
styles2[bgModel] = {
|
|
344
|
+
get() {
|
|
345
|
+
const { level: level2 } = this;
|
|
346
|
+
return function(...arguments_) {
|
|
347
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level2], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
348
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
var proto = Object.defineProperties(() => {
|
|
354
|
+
}, {
|
|
355
|
+
...styles2,
|
|
356
|
+
level: {
|
|
357
|
+
enumerable: true,
|
|
358
|
+
get() {
|
|
359
|
+
return this[GENERATOR].level;
|
|
360
|
+
},
|
|
361
|
+
set(level2) {
|
|
362
|
+
this[GENERATOR].level = level2;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
var createStyler = (open, close, parent) => {
|
|
367
|
+
let openAll;
|
|
368
|
+
let closeAll;
|
|
369
|
+
if (parent === void 0) {
|
|
370
|
+
openAll = open;
|
|
371
|
+
closeAll = close;
|
|
372
|
+
} else {
|
|
373
|
+
openAll = parent.openAll + open;
|
|
374
|
+
closeAll = close + parent.closeAll;
|
|
375
|
+
}
|
|
376
|
+
return {
|
|
377
|
+
open,
|
|
378
|
+
close,
|
|
379
|
+
openAll,
|
|
380
|
+
closeAll,
|
|
381
|
+
parent
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
var createBuilder = (self, _styler, _isEmpty) => {
|
|
385
|
+
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
386
|
+
Object.setPrototypeOf(builder, proto);
|
|
387
|
+
builder[GENERATOR] = self;
|
|
388
|
+
builder[STYLER] = _styler;
|
|
389
|
+
builder[IS_EMPTY] = _isEmpty;
|
|
390
|
+
return builder;
|
|
391
|
+
};
|
|
392
|
+
var applyStyle = (self, string) => {
|
|
393
|
+
if (self.level <= 0 || !string) {
|
|
394
|
+
return self[IS_EMPTY] ? "" : string;
|
|
395
|
+
}
|
|
396
|
+
let styler = self[STYLER];
|
|
397
|
+
if (styler === void 0) {
|
|
398
|
+
return string;
|
|
399
|
+
}
|
|
400
|
+
const { openAll, closeAll } = styler;
|
|
401
|
+
if (string.includes("\x1B")) {
|
|
402
|
+
while (styler !== void 0) {
|
|
403
|
+
string = stringReplaceAll(string, styler.close, styler.open);
|
|
404
|
+
styler = styler.parent;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
const lfIndex = string.indexOf("\n");
|
|
408
|
+
if (lfIndex !== -1) {
|
|
409
|
+
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
410
|
+
}
|
|
411
|
+
return openAll + string + closeAll;
|
|
412
|
+
};
|
|
413
|
+
Object.defineProperties(createChalk.prototype, styles2);
|
|
414
|
+
var chalk = createChalk();
|
|
415
|
+
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
416
|
+
var source_default = chalk;
|
|
417
|
+
|
|
418
|
+
// module/logger.js
|
|
419
|
+
var _NDJson, _levels, _processMessage, processMessage_fn;
|
|
420
|
+
var Logger = class {
|
|
421
|
+
static parseMessage(message) {
|
|
422
|
+
if (typeof message === "undefined")
|
|
423
|
+
return null;
|
|
424
|
+
if (typeof message === "object")
|
|
425
|
+
message = JSON.stringify(message);
|
|
426
|
+
return message;
|
|
427
|
+
}
|
|
428
|
+
static formatMessage(message, logLevel) {
|
|
429
|
+
let type = __privateGet(this, _levels)[logLevel];
|
|
430
|
+
let date = (/* @__PURE__ */ new Date()).toISOString().split(".")[0].replace("T", " ");
|
|
431
|
+
if (this.colors) {
|
|
432
|
+
date = source_default.gray(date);
|
|
433
|
+
switch (logLevel) {
|
|
434
|
+
case 0:
|
|
435
|
+
type = source_default.bold(source_default.red(type));
|
|
436
|
+
message = source_default.red(message);
|
|
437
|
+
break;
|
|
438
|
+
case 1:
|
|
439
|
+
type = source_default.bold(source_default.yellow(type));
|
|
440
|
+
message = source_default.yellow(message);
|
|
441
|
+
break;
|
|
442
|
+
case 2:
|
|
443
|
+
type = source_default.bold(source_default.cyan(type));
|
|
444
|
+
message = source_default.cyan(message);
|
|
445
|
+
break;
|
|
446
|
+
case 3:
|
|
447
|
+
type = source_default.bold(source_default.blue(type));
|
|
448
|
+
message = source_default.blue(message);
|
|
449
|
+
break;
|
|
450
|
+
case 4:
|
|
451
|
+
type = source_default.bold(source_default.blue(type));
|
|
452
|
+
message = source_default.blue(message);
|
|
453
|
+
break;
|
|
454
|
+
case 5:
|
|
455
|
+
type = source_default.bold(source_default.gray(type));
|
|
456
|
+
message = source_default.gray(message);
|
|
457
|
+
break;
|
|
458
|
+
case 6:
|
|
459
|
+
type = source_default.bold(source_default.gray(type));
|
|
460
|
+
message = source_default.gray(message);
|
|
461
|
+
break;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
return `[${date}] ${type} ${message}`;
|
|
465
|
+
}
|
|
466
|
+
static error(message) {
|
|
467
|
+
__privateMethod(this, _processMessage, processMessage_fn).call(this, message, 0);
|
|
468
|
+
}
|
|
469
|
+
static warn(message) {
|
|
470
|
+
__privateMethod(this, _processMessage, processMessage_fn).call(this, message, 1);
|
|
471
|
+
}
|
|
472
|
+
static info(message) {
|
|
473
|
+
__privateMethod(this, _processMessage, processMessage_fn).call(this, message, 2);
|
|
474
|
+
}
|
|
475
|
+
static http(message) {
|
|
476
|
+
__privateMethod(this, _processMessage, processMessage_fn).call(this, message, 3);
|
|
477
|
+
}
|
|
478
|
+
static verbose(message) {
|
|
479
|
+
__privateMethod(this, _processMessage, processMessage_fn).call(this, message, 4);
|
|
480
|
+
}
|
|
481
|
+
static debug(message) {
|
|
482
|
+
__privateMethod(this, _processMessage, processMessage_fn).call(this, message, 5);
|
|
483
|
+
}
|
|
484
|
+
static silly(message) {
|
|
485
|
+
__privateMethod(this, _processMessage, processMessage_fn).call(this, message, 6);
|
|
486
|
+
}
|
|
487
|
+
static putNDJson(message, logLevel) {
|
|
488
|
+
let separator = __privateGet(this, _NDJson).length !== 0 ? "\n" : "";
|
|
489
|
+
__privateSet(this, _NDJson, __privateGet(this, _NDJson) + (separator + JSON.stringify({ "time": (/* @__PURE__ */ new Date()).toISOString(), "level": logLevel, "msg": message })));
|
|
490
|
+
}
|
|
491
|
+
static getNDJson() {
|
|
492
|
+
return __privateGet(this, _NDJson);
|
|
493
|
+
}
|
|
494
|
+
};
|
|
495
|
+
_NDJson = new WeakMap();
|
|
496
|
+
_levels = new WeakMap();
|
|
497
|
+
_processMessage = new WeakSet();
|
|
498
|
+
processMessage_fn = function(message, level2) {
|
|
499
|
+
if (this.level < level2)
|
|
500
|
+
return;
|
|
501
|
+
message = this.parseMessage(message);
|
|
502
|
+
if (message === null)
|
|
503
|
+
return;
|
|
504
|
+
if (this.NDJson)
|
|
505
|
+
this.putNDJson(message, level2);
|
|
506
|
+
switch (level2) {
|
|
507
|
+
case 0:
|
|
508
|
+
console.error(this.formatMessage(message, level2));
|
|
509
|
+
break;
|
|
510
|
+
case 1:
|
|
511
|
+
console.warn(this.formatMessage(message, level2));
|
|
512
|
+
break;
|
|
513
|
+
default:
|
|
514
|
+
console.info(this.formatMessage(message, level2));
|
|
515
|
+
break;
|
|
516
|
+
}
|
|
517
|
+
};
|
|
518
|
+
__privateAdd(Logger, _processMessage);
|
|
519
|
+
__privateAdd(Logger, _NDJson, "");
|
|
520
|
+
__publicField(Logger, "NDJson", false);
|
|
521
|
+
__publicField(Logger, "level", 2);
|
|
522
|
+
__publicField(Logger, "colors", true);
|
|
523
|
+
__publicField(Logger, "levels", {
|
|
524
|
+
error: 0,
|
|
525
|
+
warn: 1,
|
|
526
|
+
info: 2,
|
|
527
|
+
http: 3,
|
|
528
|
+
verbose: 4,
|
|
529
|
+
debug: 5,
|
|
530
|
+
silly: 6
|
|
531
|
+
});
|
|
532
|
+
__privateAdd(Logger, _levels, {
|
|
533
|
+
0: "ERROR",
|
|
534
|
+
1: "WARN",
|
|
535
|
+
2: "INFO",
|
|
536
|
+
3: "HTTP",
|
|
537
|
+
4: "VERBOSE",
|
|
538
|
+
5: "DEBUG",
|
|
539
|
+
6: "SILLY"
|
|
540
|
+
});
|
|
541
|
+
export {
|
|
542
|
+
Logger as default
|
|
543
|
+
};
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rabbit-company/logger",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Simple logger",
|
|
5
|
-
"main": "./
|
|
5
|
+
"main": "./module/logger.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"homepage": "https://github.com/Rabbit-Company/Logger-JS",
|
|
8
8
|
"funding": "https://rabbit-company.com/donation",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"build": "rabbit-builder"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
-
"
|
|
16
|
+
"module/logger.js"
|
|
17
17
|
],
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
@@ -31,5 +31,8 @@
|
|
|
31
31
|
],
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@rabbit-company/rabbit-builder": "^1.0.5"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"chalk": "^5.2.0"
|
|
34
37
|
}
|
|
35
|
-
}
|
|
38
|
+
}
|
package/src/logger.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
export default class Logger{
|
|
2
|
-
|
|
3
|
-
static #NDJson = '';
|
|
4
|
-
static NDJson = false;
|
|
5
|
-
static #isBrowser = typeof(window) === 'object';
|
|
6
|
-
|
|
7
|
-
static level = 2;
|
|
8
|
-
static colors = false;
|
|
9
|
-
|
|
10
|
-
static levels = {
|
|
11
|
-
error: 0,
|
|
12
|
-
warn: 1,
|
|
13
|
-
info: 2,
|
|
14
|
-
http: 3,
|
|
15
|
-
verbose: 4,
|
|
16
|
-
debug: 5,
|
|
17
|
-
silly: 6
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
static #levels = {
|
|
21
|
-
0: 'ERROR',
|
|
22
|
-
1: 'WARN',
|
|
23
|
-
2: 'INFO',
|
|
24
|
-
3: 'HTTP',
|
|
25
|
-
4: 'VERBOSE',
|
|
26
|
-
5: 'DEBUG',
|
|
27
|
-
6: 'SILLY'
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
static parseMessage(message){
|
|
31
|
-
if(typeof(message) === 'undefined') return null;
|
|
32
|
-
if(typeof(message) === 'object') message = JSON.stringify(message);
|
|
33
|
-
return message;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static formatMessage(message, logLevel){
|
|
37
|
-
return `[${new Date().toISOString().split('.')[0].replace('T', ' ')}] ${this.#levels[logLevel]} ${message}`;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
static #processMessage(message, level){
|
|
41
|
-
if(this.level < level) return;
|
|
42
|
-
message = this.parseMessage(message);
|
|
43
|
-
if(message === null) return;
|
|
44
|
-
if(this.NDJson) this.putNDJson(message, level);
|
|
45
|
-
|
|
46
|
-
switch(level){
|
|
47
|
-
case 0:
|
|
48
|
-
console.error(this.formatMessage(message, level));
|
|
49
|
-
break;
|
|
50
|
-
case 1:
|
|
51
|
-
console.warn(this.formatMessage(message, level));
|
|
52
|
-
break;
|
|
53
|
-
default:
|
|
54
|
-
console.info(this.formatMessage(message, level));
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
static error(message){
|
|
60
|
-
this.#processMessage(message, 0);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static warn(message){
|
|
64
|
-
this.#processMessage(message, 1);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
static info(message){
|
|
68
|
-
this.#processMessage(message, 2);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
static http(message){
|
|
72
|
-
this.#processMessage(message, 3);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
static verbose(message){
|
|
76
|
-
this.#processMessage(message, 4);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
static debug(message){
|
|
80
|
-
this.#processMessage(message, 5);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
static silly(message){
|
|
84
|
-
this.#processMessage(message, 6);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
static putNDJson(message, logLevel){
|
|
88
|
-
let separator = (this.#NDJson.length !== 0) ? '\n' : '';
|
|
89
|
-
this.#NDJson += separator + JSON.stringify({ 'time': new Date().toISOString(), 'level': logLevel, 'msg': message });
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
static getNDJson(){
|
|
93
|
-
return this.#NDJson;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
}
|