@foxford/logger 1.0.1 → 1.0.2
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/browser.js +10 -16
- package/node.js +23 -30
- package/package.json +2 -2
package/browser.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var log = require('loglevel');
|
|
6
4
|
|
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
-
|
|
9
|
-
var log__default = /*#__PURE__*/_interopDefaultLegacy(log);
|
|
10
|
-
|
|
11
5
|
/**
|
|
12
6
|
* Генерирует hex-код цвета на основе строки, избегая оттенков красного
|
|
13
7
|
* @param {string} str - Строка, для которой нужно сгенерировать цвет
|
|
@@ -222,7 +216,7 @@ function createHierarchicalLogger(originalGetLogger, fullName, parent) {
|
|
|
222
216
|
if (!previousLevels.has(this.id)) {
|
|
223
217
|
previousLevels.set(this.id, baseLogger.getLevel());
|
|
224
218
|
}
|
|
225
|
-
baseLogger.setLevel(
|
|
219
|
+
baseLogger.setLevel(log.levels.TRACE, false);
|
|
226
220
|
// Если включаем отладку
|
|
227
221
|
if (!currentPatterns.some((pattern) => fullName === pattern || `${fullName}:*` === pattern)) {
|
|
228
222
|
// Удаляем все дочерние паттерны, если они есть
|
|
@@ -245,7 +239,7 @@ function createHierarchicalLogger(originalGetLogger, fullName, parent) {
|
|
|
245
239
|
}
|
|
246
240
|
else {
|
|
247
241
|
// Если родительского логгера нет, используем предыдущий сохраненный уровень или уровень по умолчанию
|
|
248
|
-
newLevel = previousLevels.get(this.id) ||
|
|
242
|
+
newLevel = previousLevels.get(this.id) || log.levels.WARN;
|
|
249
243
|
}
|
|
250
244
|
baseLogger.setLevel(newLevel, false);
|
|
251
245
|
previousLevels.delete(this.id);
|
|
@@ -282,7 +276,7 @@ function createHierarchicalLogger(originalGetLogger, fullName, parent) {
|
|
|
282
276
|
hierarchicalLogger[method] = function (...args) {
|
|
283
277
|
var _a;
|
|
284
278
|
const debugEnabled = this.isDebugEnabled();
|
|
285
|
-
const messageLevel = (_a =
|
|
279
|
+
const messageLevel = (_a = log.levels[method.toUpperCase()]) !== null && _a !== void 0 ? _a : 0;
|
|
286
280
|
const currentLevel = baseLogger.getLevel();
|
|
287
281
|
if (debugEnabled || messageLevel >= currentLevel) {
|
|
288
282
|
return originalMethod.apply(baseLogger, args);
|
|
@@ -356,10 +350,10 @@ function configureLogger(logger, patterns) {
|
|
|
356
350
|
const debugEnabled = shouldEnableDebug(fullName, patterns);
|
|
357
351
|
logger.debugEnabled = debugEnabled;
|
|
358
352
|
if (debugEnabled) {
|
|
359
|
-
logger.setLevel(previousLevels.get(logger.id) ||
|
|
353
|
+
logger.setLevel(previousLevels.get(logger.id) || log.levels.TRACE);
|
|
360
354
|
}
|
|
361
355
|
else {
|
|
362
|
-
logger.setLevel(previousLevels.get(logger.id) ||
|
|
356
|
+
logger.setLevel(previousLevels.get(logger.id) || log.levels.WARN);
|
|
363
357
|
}
|
|
364
358
|
}
|
|
365
359
|
/**
|
|
@@ -439,17 +433,17 @@ const prefixPlugin = {
|
|
|
439
433
|
};
|
|
440
434
|
|
|
441
435
|
// Применяем плагины
|
|
442
|
-
hierarchicalPlugin.apply(
|
|
443
|
-
prefixPlugin.apply(
|
|
436
|
+
hierarchicalPlugin.apply(log);
|
|
437
|
+
prefixPlugin.apply(log, {
|
|
444
438
|
format: (level, name, timestamp) => {
|
|
445
439
|
return environment.formatter(level, name, timestamp);
|
|
446
440
|
},
|
|
447
441
|
});
|
|
448
442
|
// сброс левела чтобы игнорировать запись в сторадже в браузерной имплементации
|
|
449
|
-
|
|
443
|
+
log.resetLevel();
|
|
450
444
|
// Пересоздаем методы логгера
|
|
451
|
-
|
|
452
|
-
const extendedLog = Object.assign(
|
|
445
|
+
log.rebuild();
|
|
446
|
+
const extendedLog = Object.assign(log, {});
|
|
453
447
|
|
|
454
448
|
exports.hierarchicalPlugin = hierarchicalPlugin;
|
|
455
449
|
exports.log = extendedLog;
|
package/node.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var log = require('loglevel');
|
|
6
4
|
var chalk = require('chalk');
|
|
7
5
|
|
|
8
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
-
|
|
10
|
-
var log__default = /*#__PURE__*/_interopDefaultLegacy(log);
|
|
11
|
-
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
12
|
-
|
|
13
6
|
/**
|
|
14
7
|
* Генерирует hex-код цвета на основе строки, избегая оттенков красного
|
|
15
8
|
* @param {string} str - Строка, для которой нужно сгенерировать цвет
|
|
@@ -65,12 +58,12 @@ function generateHexByString(str) {
|
|
|
65
58
|
const colorCache = {};
|
|
66
59
|
/** Цвета для различных уровней логирования */
|
|
67
60
|
const levelColors = {
|
|
68
|
-
TRACE:
|
|
69
|
-
LOG:
|
|
70
|
-
DEBUG:
|
|
71
|
-
INFO:
|
|
72
|
-
WARN:
|
|
73
|
-
ERROR:
|
|
61
|
+
TRACE: chalk.gray,
|
|
62
|
+
LOG: chalk.cyan,
|
|
63
|
+
DEBUG: chalk.cyan,
|
|
64
|
+
INFO: chalk.green,
|
|
65
|
+
WARN: chalk.yellow,
|
|
66
|
+
ERROR: chalk.red,
|
|
74
67
|
};
|
|
75
68
|
// Хранилище для значений debug в памяти
|
|
76
69
|
const debugStorage = new Set();
|
|
@@ -98,7 +91,7 @@ function stringToColorCode(str) {
|
|
|
98
91
|
* @returns {string} Отформатированное сообщение
|
|
99
92
|
*/
|
|
100
93
|
function formatter(level, name, timestamp) {
|
|
101
|
-
const levelColor = levelColors[level.toUpperCase()] ||
|
|
94
|
+
const levelColor = levelColors[level.toUpperCase()] || chalk.gray;
|
|
102
95
|
let date;
|
|
103
96
|
let nameHex;
|
|
104
97
|
let loggerName;
|
|
@@ -106,18 +99,18 @@ function formatter(level, name, timestamp) {
|
|
|
106
99
|
switch (name) {
|
|
107
100
|
// предустановленнный цветовой шаблон по имени логгера
|
|
108
101
|
case 'critical':
|
|
109
|
-
date =
|
|
110
|
-
loggerName =
|
|
111
|
-
loggerLevel =
|
|
102
|
+
date = chalk.red(`[${timestamp.toISOString()}]`);
|
|
103
|
+
loggerName = chalk.red(`[${name}]`);
|
|
104
|
+
loggerLevel = chalk.red(`[${level}]`);
|
|
112
105
|
break;
|
|
113
106
|
default:
|
|
114
|
-
date =
|
|
107
|
+
date = chalk.gray(`[${timestamp.toISOString()}]`);
|
|
115
108
|
nameHex = stringToColorCode(name);
|
|
116
|
-
loggerName =
|
|
109
|
+
loggerName = chalk.hex(nameHex)(`[${name}]`);
|
|
117
110
|
loggerLevel = levelColor(`[${level}]`);
|
|
118
111
|
break;
|
|
119
112
|
}
|
|
120
|
-
return `${date} ${loggerLevel} ${loggerName} ${
|
|
113
|
+
return `${date} ${loggerLevel} ${loggerName} ${chalk.cyan('•')}`;
|
|
121
114
|
}
|
|
122
115
|
/**
|
|
123
116
|
* Получает текущее значение debug
|
|
@@ -203,7 +196,7 @@ function createHierarchicalLogger(originalGetLogger, fullName, parent) {
|
|
|
203
196
|
if (!previousLevels.has(this.id)) {
|
|
204
197
|
previousLevels.set(this.id, baseLogger.getLevel());
|
|
205
198
|
}
|
|
206
|
-
baseLogger.setLevel(
|
|
199
|
+
baseLogger.setLevel(log.levels.TRACE, false);
|
|
207
200
|
// Если включаем отладку
|
|
208
201
|
if (!currentPatterns.some((pattern) => fullName === pattern || `${fullName}:*` === pattern)) {
|
|
209
202
|
// Удаляем все дочерние паттерны, если они есть
|
|
@@ -226,7 +219,7 @@ function createHierarchicalLogger(originalGetLogger, fullName, parent) {
|
|
|
226
219
|
}
|
|
227
220
|
else {
|
|
228
221
|
// Если родительского логгера нет, используем предыдущий сохраненный уровень или уровень по умолчанию
|
|
229
|
-
newLevel = previousLevels.get(this.id) ||
|
|
222
|
+
newLevel = previousLevels.get(this.id) || log.levels.WARN;
|
|
230
223
|
}
|
|
231
224
|
baseLogger.setLevel(newLevel, false);
|
|
232
225
|
previousLevels.delete(this.id);
|
|
@@ -263,7 +256,7 @@ function createHierarchicalLogger(originalGetLogger, fullName, parent) {
|
|
|
263
256
|
hierarchicalLogger[method] = function (...args) {
|
|
264
257
|
var _a;
|
|
265
258
|
const debugEnabled = this.isDebugEnabled();
|
|
266
|
-
const messageLevel = (_a =
|
|
259
|
+
const messageLevel = (_a = log.levels[method.toUpperCase()]) !== null && _a !== void 0 ? _a : 0;
|
|
267
260
|
const currentLevel = baseLogger.getLevel();
|
|
268
261
|
if (debugEnabled || messageLevel >= currentLevel) {
|
|
269
262
|
return originalMethod.apply(baseLogger, args);
|
|
@@ -337,10 +330,10 @@ function configureLogger(logger, patterns) {
|
|
|
337
330
|
const debugEnabled = shouldEnableDebug(fullName, patterns);
|
|
338
331
|
logger.debugEnabled = debugEnabled;
|
|
339
332
|
if (debugEnabled) {
|
|
340
|
-
logger.setLevel(previousLevels.get(logger.id) ||
|
|
333
|
+
logger.setLevel(previousLevels.get(logger.id) || log.levels.TRACE);
|
|
341
334
|
}
|
|
342
335
|
else {
|
|
343
|
-
logger.setLevel(previousLevels.get(logger.id) ||
|
|
336
|
+
logger.setLevel(previousLevels.get(logger.id) || log.levels.WARN);
|
|
344
337
|
}
|
|
345
338
|
}
|
|
346
339
|
/**
|
|
@@ -416,17 +409,17 @@ const prefixPlugin = {
|
|
|
416
409
|
};
|
|
417
410
|
|
|
418
411
|
// Применяем плагины
|
|
419
|
-
hierarchicalPlugin.apply(
|
|
420
|
-
prefixPlugin.apply(
|
|
412
|
+
hierarchicalPlugin.apply(log);
|
|
413
|
+
prefixPlugin.apply(log, {
|
|
421
414
|
format: (level, name, timestamp) => {
|
|
422
415
|
return environment.formatter(level, name, timestamp);
|
|
423
416
|
},
|
|
424
417
|
});
|
|
425
418
|
// сброс левела чтобы игнорировать запись в сторадже в браузерной имплементации
|
|
426
|
-
|
|
419
|
+
log.resetLevel();
|
|
427
420
|
// Пересоздаем методы логгера
|
|
428
|
-
|
|
429
|
-
const extendedLog = Object.assign(
|
|
421
|
+
log.rebuild();
|
|
422
|
+
const extendedLog = Object.assign(log, {});
|
|
430
423
|
|
|
431
424
|
exports.hierarchicalPlugin = hierarchicalPlugin;
|
|
432
425
|
exports.log = extendedLog;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foxford/logger",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Foxford logger",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"foxford",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
],
|
|
53
53
|
"browser": "./browser.js",
|
|
54
54
|
"sideEffects": false,
|
|
55
|
-
"sha": "
|
|
55
|
+
"sha": "cddb73b8"
|
|
56
56
|
}
|