nlogs 1.1.3 → 2.4.1

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.
Files changed (157) hide show
  1. package/README.md +0 -200
  2. package/dist/abstract.base.logger.d.ts +46 -0
  3. package/dist/abstract.base.logger.js +119 -0
  4. package/dist/abstract.base.logger.js.map +1 -0
  5. package/dist/base.logger.d.ts +62 -0
  6. package/dist/base.logger.js +101 -0
  7. package/dist/base.logger.js.map +1 -0
  8. package/dist/constants.d.ts +19 -0
  9. package/dist/constants.js +23 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/errors/cat.nlogs.error.d.ts +4 -0
  12. package/dist/errors/cat.nlogs.error.js +12 -0
  13. package/dist/errors/cat.nlogs.error.js.map +1 -0
  14. package/dist/errors/fs.nlogs.error.d.ts +4 -0
  15. package/dist/errors/fs.nlogs.error.js +12 -0
  16. package/dist/errors/fs.nlogs.error.js.map +1 -0
  17. package/dist/errors/item.nlogs.error.d.ts +4 -0
  18. package/dist/errors/item.nlogs.error.js +8 -0
  19. package/dist/errors/item.nlogs.error.js.map +1 -0
  20. package/dist/errors/item.notfound.error.d.ts +4 -0
  21. package/dist/errors/item.notfound.error.js +12 -0
  22. package/dist/errors/item.notfound.error.js.map +1 -0
  23. package/dist/errors/msg.nlogs.error.d.ts +4 -0
  24. package/dist/errors/msg.nlogs.error.js +12 -0
  25. package/dist/errors/msg.nlogs.error.js.map +1 -0
  26. package/dist/errors/nlogs.error.d.ts +14 -0
  27. package/dist/errors/nlogs.error.js +30 -0
  28. package/dist/errors/nlogs.error.js.map +1 -0
  29. package/dist/errors/param.error.d.ts +6 -0
  30. package/dist/errors/param.error.js +14 -0
  31. package/dist/errors/param.error.js.map +1 -0
  32. package/dist/helpers/color.d.ts +55 -0
  33. package/dist/helpers/color.js +65 -0
  34. package/dist/helpers/color.js.map +1 -0
  35. package/dist/helpers/debug.d.ts +2 -0
  36. package/dist/helpers/debug.js +11 -0
  37. package/dist/helpers/debug.js.map +1 -0
  38. package/dist/helpers/fs.d.ts +6 -0
  39. package/dist/helpers/fs.js +43 -0
  40. package/dist/helpers/fs.js.map +1 -0
  41. package/dist/helpers/stack.d.ts +5 -0
  42. package/dist/helpers/stack.js +52 -0
  43. package/dist/helpers/stack.js.map +1 -0
  44. package/dist/helpers/string.d.ts +9 -0
  45. package/dist/helpers/string.js +53 -0
  46. package/dist/helpers/string.js.map +1 -0
  47. package/dist/helpers/symbols.d.ts +25 -0
  48. package/dist/helpers/symbols.js +32 -0
  49. package/dist/helpers/symbols.js.map +1 -0
  50. package/dist/helpers/template.d.ts +4 -0
  51. package/dist/helpers/template.js +58 -0
  52. package/dist/helpers/template.js.map +1 -0
  53. package/dist/helpers/testHelpers.d.ts +31 -0
  54. package/dist/helpers/testHelpers.js +239 -0
  55. package/dist/helpers/testHelpers.js.map +1 -0
  56. package/dist/helpers/time.d.ts +1 -0
  57. package/dist/helpers/time.js +6 -0
  58. package/dist/helpers/time.js.map +1 -0
  59. package/dist/helpers/types.d.ts +13 -0
  60. package/dist/helpers/types.js +3 -0
  61. package/dist/helpers/types.js.map +1 -0
  62. package/dist/index.d.ts +5 -0
  63. package/dist/index.js +11 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/logger.d.ts +25 -0
  66. package/dist/logger.js +42 -0
  67. package/dist/logger.js.map +1 -0
  68. package/dist/logging.rules.d.ts +28 -0
  69. package/dist/logging.rules.js +64 -0
  70. package/dist/logging.rules.js.map +1 -0
  71. package/dist/message/details.d.ts +43 -0
  72. package/dist/message/details.js +100 -0
  73. package/dist/message/details.js.map +1 -0
  74. package/dist/message/error.details.d.ts +13 -0
  75. package/dist/message/error.details.js +26 -0
  76. package/dist/message/error.details.js.map +1 -0
  77. package/dist/message/log.info.d.ts +20 -0
  78. package/dist/message/log.info.js +30 -0
  79. package/dist/message/log.info.js.map +1 -0
  80. package/dist/message/meta.d.ts +12 -0
  81. package/dist/message/meta.js +22 -0
  82. package/dist/message/meta.js.map +1 -0
  83. package/dist/message/mod.details.d.ts +5 -0
  84. package/dist/message/mod.details.js +11 -0
  85. package/dist/message/mod.details.js.map +1 -0
  86. package/dist/message/time.details.d.ts +6 -0
  87. package/dist/message/time.details.js +16 -0
  88. package/dist/message/time.details.js.map +1 -0
  89. package/dist/message/time.range.d.ts +9 -0
  90. package/dist/message/time.range.js +23 -0
  91. package/dist/message/time.range.js.map +1 -0
  92. package/dist/nestjs.logger.d.ts +8 -0
  93. package/dist/nestjs.logger.js +29 -0
  94. package/dist/nestjs.logger.js.map +1 -0
  95. package/dist/options.d.ts +26 -0
  96. package/dist/options.js +80 -0
  97. package/dist/options.js.map +1 -0
  98. package/dist/template.logger.d.ts +12 -0
  99. package/dist/template.logger.js +21 -0
  100. package/dist/template.logger.js.map +1 -0
  101. package/dist/tsconfig.tsbuildinfo +1 -0
  102. package/dist/utils/allowed.list.d.ts +18 -0
  103. package/dist/utils/allowed.list.js +91 -0
  104. package/dist/utils/allowed.list.js.map +1 -0
  105. package/dist/utils/category.d.ts +23 -0
  106. package/dist/utils/category.js +41 -0
  107. package/dist/utils/category.js.map +1 -0
  108. package/dist/utils/console.out.d.ts +10 -0
  109. package/dist/utils/console.out.js +19 -0
  110. package/dist/utils/console.out.js.map +1 -0
  111. package/dist/utils/dark.string.formatter.d.ts +24 -0
  112. package/dist/utils/dark.string.formatter.js +47 -0
  113. package/dist/utils/dark.string.formatter.js.map +1 -0
  114. package/dist/utils/items.counter.d.ts +8 -0
  115. package/dist/utils/items.counter.js +26 -0
  116. package/dist/utils/items.counter.js.map +1 -0
  117. package/dist/utils/items.manager.d.ts +55 -0
  118. package/dist/utils/items.manager.js +147 -0
  119. package/dist/utils/items.manager.js.map +1 -0
  120. package/dist/utils/items.timer.d.ts +9 -0
  121. package/dist/utils/items.timer.js +38 -0
  122. package/dist/utils/items.timer.js.map +1 -0
  123. package/dist/utils/json.formatter.d.ts +14 -0
  124. package/dist/utils/json.formatter.js +43 -0
  125. package/dist/utils/json.formatter.js.map +1 -0
  126. package/dist/utils/light.string.formatter.d.ts +6 -0
  127. package/dist/utils/light.string.formatter.js +16 -0
  128. package/dist/utils/light.string.formatter.js.map +1 -0
  129. package/dist/utils/log.reader.d.ts +16 -0
  130. package/dist/utils/log.reader.js +149 -0
  131. package/dist/utils/log.reader.js.map +1 -0
  132. package/dist/utils/mod.d.ts +7 -0
  133. package/dist/utils/mod.js +16 -0
  134. package/dist/utils/mod.js.map +1 -0
  135. package/dist/utils/mod.resolver.d.ts +12 -0
  136. package/dist/utils/mod.resolver.js +101 -0
  137. package/dist/utils/mod.resolver.js.map +1 -0
  138. package/dist/utils/static.logger.d.ts +31 -0
  139. package/dist/utils/static.logger.js +84 -0
  140. package/dist/utils/static.logger.js.map +1 -0
  141. package/dist/utils/string.formatter.d.ts +30 -0
  142. package/dist/utils/string.formatter.js +110 -0
  143. package/dist/utils/string.formatter.js.map +1 -0
  144. package/dist/utils/trace.store.d.ts +33 -0
  145. package/dist/utils/trace.store.js +76 -0
  146. package/dist/utils/trace.store.js.map +1 -0
  147. package/package.json +35 -11
  148. package/.eslintrc.js +0 -3
  149. package/index.d.ts +0 -217
  150. package/index.js +0 -12
  151. package/lib/config.js +0 -85
  152. package/lib/constants.js +0 -7
  153. package/lib/defaultConfig.js +0 -57
  154. package/lib/logger.js +0 -134
  155. package/lib/loggerCore.js +0 -105
  156. package/lib/stringFormatter.js +0 -4
  157. package/lib/timeFormatter.js +0 -3
@@ -0,0 +1,31 @@
1
+ /// <reference types="jest" />
2
+ import { LogInfo } from '../message/log.info';
3
+ import { Meta } from '../message/meta';
4
+ import { LogReader } from '../utils/log.reader';
5
+ import { StringFormatter } from '../utils/string.formatter';
6
+ import { ILogger } from './types';
7
+ import * as options from '../options';
8
+ import { ILoggerEnv } from '../utils/types';
9
+ import { BaseLogger } from '../base.logger';
10
+ export declare const meta: Meta;
11
+ export declare const stringFormatter: StringFormatter;
12
+ export declare const stringReader: LogReader;
13
+ export declare const stringLogFn: jest.Mock<string, [str: string]>;
14
+ export declare const infoLogFn: jest.Mock<string, [info: LogInfo]>;
15
+ export declare const testLogger: ILogger;
16
+ export declare const clearMocks: () => void;
17
+ type Options = typeof options;
18
+ type OptionsMainKeys = keyof Options;
19
+ type OptionsKeys<O extends OptionsMainKeys> = keyof Options[O];
20
+ type OptionsVal<O extends OptionsMainKeys, K extends OptionsKeys<O>> = Options[O][K];
21
+ type IEnv = keyof ILoggerEnv;
22
+ export declare const createOptionsChecker: <O extends "loggerOptions" | "timesOptions" | "countOptions">(optionsKey: O) => {
23
+ ivString: <K extends keyof (typeof options)[O]>(key: K, variables: IEnv | IEnv[], defaultValue?: string, defaultName?: string) => any;
24
+ ivSArrayOfString: <K_1 extends keyof (typeof options)[O]>(key: K_1, variables: IEnv | IEnv[], defaultValue?: string[], defaultName?: string) => any;
25
+ ivNumber: <K_2 extends keyof (typeof options)[O]>(key: K_2, variables: IEnv | IEnv[], defaultValue?: number, defaultName?: string) => any;
26
+ ivBoolean: <K_3 extends keyof (typeof options)[O]>(key: K_3, variables: IEnv | IEnv[], defaultValue?: boolean, defaultName?: string) => any;
27
+ ivEnum: <K_4 extends keyof (typeof options)[O], T extends string>(key: K_4, variables: IEnv | IEnv[], variants: T[], defaultValue?: T, defaultName?: string) => any;
28
+ load: <K_5 extends keyof (typeof options)[O]>(key: K_5) => Promise<OptionsVal<O, K_5>>;
29
+ };
30
+ export declare const testStandartLevels: (TestLogger: typeof BaseLogger, before?: (logger: any) => any) => void;
31
+ export {};
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.testStandartLevels = exports.createOptionsChecker = exports.clearMocks = exports.testLogger = exports.infoLogFn = exports.stringLogFn = exports.stringReader = exports.stringFormatter = exports.meta = void 0;
27
+ const meta_1 = require("../message/meta");
28
+ const log_reader_1 = require("../utils/log.reader");
29
+ const static_logger_1 = require("../utils/static.logger");
30
+ const string_formatter_1 = require("../utils/string.formatter");
31
+ const string_1 = require("./string");
32
+ const stream_1 = require("stream");
33
+ const json_formatter_1 = require("../utils/json.formatter");
34
+ const console_out_1 = require("../utils/console.out");
35
+ const constants_1 = require("../constants");
36
+ exports.meta = new meta_1.Meta('project', 'service', 'category', 'debug', 'traceId', new Date(), 'index');
37
+ exports.stringFormatter = new string_formatter_1.StringFormatter();
38
+ exports.stringReader = new log_reader_1.LogReader(exports.stringFormatter);
39
+ exports.stringLogFn = jest.fn((str) => str);
40
+ exports.infoLogFn = jest.fn((info) => (0, exports.stringLogFn)(exports.stringFormatter.format(info)));
41
+ exports.testLogger = {
42
+ log: jest.fn((...msgs) => (0, exports.infoLogFn)(exports.stringReader.read(exports.meta, [static_logger_1.StaticLogger.level('log'), ...msgs]))),
43
+ debug: jest.fn((...msgs) => (0, exports.infoLogFn)(exports.stringReader.read(exports.meta, [static_logger_1.StaticLogger.level('debug'), ...msgs]))),
44
+ trace: jest.fn((...msgs) => (0, exports.infoLogFn)(exports.stringReader.read(exports.meta, [static_logger_1.StaticLogger.level('trace'), ...msgs]))),
45
+ info: jest.fn((...msgs) => (0, exports.infoLogFn)(exports.stringReader.read(exports.meta, [static_logger_1.StaticLogger.level('info'), ...msgs]))),
46
+ warn: jest.fn((...msgs) => (0, exports.infoLogFn)(exports.stringReader.read(exports.meta, [static_logger_1.StaticLogger.level('warn'), ...msgs]))),
47
+ error: jest.fn((...msgs) => (0, exports.infoLogFn)(exports.stringReader.read(exports.meta, [static_logger_1.StaticLogger.level('error'), ...msgs]))),
48
+ };
49
+ const clearMocks = () => {
50
+ ;
51
+ [exports.stringLogFn, exports.infoLogFn, ...Object.values(exports.testLogger)].forEach((fn) => {
52
+ fn.mockClear();
53
+ });
54
+ };
55
+ exports.clearMocks = clearMocks;
56
+ const createLoader = (optionsKey, key) => async () => {
57
+ const opt = await Promise.resolve().then(() => __importStar(require('../options')));
58
+ return opt[optionsKey][key];
59
+ };
60
+ const createIvRunner = (optionsKey, bodyCheckCallback, archyCheckCallback) => {
61
+ const iv = (key, variables, defaultValue, defaultName) => {
62
+ if (!Array.isArray(variables))
63
+ return iv(key, [variables], defaultValue, defaultName);
64
+ if (!variables.length)
65
+ throw new Error(`The number of variables to check the key "${key?.toString()}" cannot be 0`);
66
+ const load = createLoader(optionsKey, key);
67
+ let i = 0;
68
+ if (defaultName || defaultValue !== undefined) {
69
+ it(`from default value (${defaultValue})${defaultName ? ` (constant ${(0, string_1.prettyList)(defaultName)})` : ''} with missing variable`, async () => {
70
+ const value = await load();
71
+ expect(value).toEqual(defaultValue);
72
+ });
73
+ }
74
+ bodyCheckCallback(load, variables, defaultValue, ++i);
75
+ if (variables.length === 1 || !archyCheckCallback)
76
+ return;
77
+ for (let i = 1; i < variables.length; i++) {
78
+ const currentList = variables.slice(i);
79
+ const currentVariableName = variables[i - 1];
80
+ describe('Checking the hierarchy of interchangeable variables', () => {
81
+ archyCheckCallback(load, currentVariableName, currentList, defaultValue, ++i);
82
+ });
83
+ }
84
+ };
85
+ return iv;
86
+ };
87
+ const createChecker = (optionsKey, nextCorrectValue, nextIncorrectCorrectValue, equal, notEqual) => createIvRunner(optionsKey, (load, variables, defaultValue, pi) => {
88
+ let i = pi * 1000;
89
+ for (const variableName of variables) {
90
+ it(`from ${(0, string_1.prettyList)(variableName)}`, async () => {
91
+ const [env, val] = nextCorrectValue(i++, defaultValue);
92
+ process.env[variableName] = env;
93
+ const value = await load();
94
+ equal(value, val);
95
+ });
96
+ }
97
+ it(`A non-valid value must be equal to the default value [${defaultValue}]`, async () => {
98
+ const [env, val] = nextIncorrectCorrectValue(i++, defaultValue);
99
+ process.env[variables[0]] = env;
100
+ const value = await load();
101
+ equal(value, val);
102
+ });
103
+ }, (load, currentVariable, variableList, defaultValue, pi) => {
104
+ let i = pi * 1000;
105
+ it(`from ${(0, string_1.prettyList)(currentVariable)} with exists ${(0, string_1.prettyList)(variableList)}`, async () => {
106
+ const [env, val] = nextCorrectValue(i++, defaultValue);
107
+ const missingKeys = variableList.map((_, i) => nextCorrectValue(i++, defaultValue));
108
+ process.env[currentVariable] = env;
109
+ variableList.forEach((vk, i) => {
110
+ process.env[vk] = missingKeys[i][0];
111
+ });
112
+ const value = await load();
113
+ equal(value, val);
114
+ missingKeys.forEach(nval => {
115
+ notEqual(value, nval[1]);
116
+ });
117
+ });
118
+ });
119
+ const createOptionsChecker = (optionsKey) => {
120
+ const ivString = createChecker(optionsKey, i => [`test_value_${i}`, `test_value_${i}`], i => [` test_value_${i} `, `test_value_${i}`], (val, exp) => expect(val).toEqual(exp), (val, exp) => expect(val).not.toEqual(exp));
121
+ const ivSArrayOfString = createChecker(optionsKey, i => [`test_value_${i}_1,test_value_${i}_2`, [`test_value_${i}_1`, `test_value_${i}_2`]], i => [` test_value_${i}_1 , test_value_${i}_2 `, [`test_value_${i}_1`, `test_value_${i}_2`]], (val, exp) => {
122
+ expect(val).toBeInstanceOf(Array);
123
+ expect(val?.length).toEqual(exp.length);
124
+ expect(val).toEqual(expect.arrayContaining(exp));
125
+ }, (val, exp) => {
126
+ expect(val).not.toEqual(expect.arrayContaining(exp));
127
+ });
128
+ const ivNumber = createChecker(optionsKey, i => [`${i}`, i], i => [` ${i} `, i], (val, exp) => expect(val).toEqual(exp), (val, exp) => expect(val).not.toEqual(exp));
129
+ const ivBoolean = createIvRunner(optionsKey, (load, variables, defaultValue) => {
130
+ const check = (typeVal, variableKey, arr) => {
131
+ for (const str of arr) {
132
+ it(`check ${(0, string_1.prettyList)(typeVal)} from ${(0, string_1.prettyList)(variableKey)} and string value ${(0, string_1.prettyList)(str)}`, async () => {
133
+ process.env[variableKey] = str;
134
+ const value = await load();
135
+ expect(value).toEqual(typeVal);
136
+ });
137
+ }
138
+ };
139
+ describe('Checking all variants', () => {
140
+ for (const variableName of variables) {
141
+ check(true, variableName, string_1.TRUE_VARIANTS);
142
+ check(false, variableName, string_1.FALSE_VARIANTS);
143
+ }
144
+ check(true, variables[0], [' TruE ', ' T ', ' Y ']);
145
+ });
146
+ it(`A non-valid value must be equal to the default value [${defaultValue}]`, async () => {
147
+ process.env[variables[0]] = 'custom value';
148
+ const value = await load();
149
+ expect(value).toEqual(defaultValue);
150
+ });
151
+ }, (load, currentVariable, variableList) => {
152
+ it(`from ${(0, string_1.prettyList)(currentVariable)} with exists ${(0, string_1.prettyList)(variableList)}`, async () => {
153
+ process.env[currentVariable] = string_1.TRUE_VARIANTS[0];
154
+ variableList.forEach(vk => {
155
+ process.env[vk] = string_1.FALSE_VARIANTS[0];
156
+ });
157
+ const value = await load();
158
+ expect(value).toEqual(true);
159
+ });
160
+ });
161
+ const ivEnum = (key, variables, variants, defaultValue, defaultName) => createIvRunner(optionsKey, (load, variables, defaultValue) => {
162
+ if (!variants.length)
163
+ throw new Error('The number of options to check enum cannot be 0');
164
+ describe('Checking all variants', () => {
165
+ for (const variableName of variables) {
166
+ for (const variant of variants) {
167
+ it(`check variant ${(0, string_1.prettyList)(variant)} from ${(0, string_1.prettyList)(variableName)}`, async () => {
168
+ process.env[variableName] = variant;
169
+ const value = await load();
170
+ expect(value).toEqual(variant);
171
+ });
172
+ }
173
+ }
174
+ });
175
+ it(`A non-valid value must be equal to the default value [${defaultValue}]`, async () => {
176
+ process.env[variables[0]] = 'custom value';
177
+ const value = await load();
178
+ expect(value).toEqual(defaultValue);
179
+ });
180
+ }, (load, currentVariable, variableList, defaultValue) => {
181
+ if (!variants.length)
182
+ throw new Error('The number of options to check enum cannot be 0');
183
+ it(`from ${(0, string_1.prettyList)(currentVariable)} with exists ${(0, string_1.prettyList)(variableList)}`, async () => {
184
+ process.env[currentVariable] = variants[0];
185
+ variableList.forEach(vk => {
186
+ process.env[vk] = variants[1] || defaultValue || (0, string_1.uuid)();
187
+ });
188
+ const value = await load();
189
+ expect(value).toEqual(variants[0]);
190
+ });
191
+ })(key, variables, defaultValue, defaultName);
192
+ const load = (key) => createLoader(optionsKey, key)();
193
+ return {
194
+ ivString,
195
+ ivSArrayOfString,
196
+ ivNumber,
197
+ ivBoolean,
198
+ ivEnum,
199
+ load,
200
+ };
201
+ };
202
+ exports.createOptionsChecker = createOptionsChecker;
203
+ const testStandartLevels = (TestLogger, before) => {
204
+ describe('standart levels', () => {
205
+ const outLevels = ['trace', 'debug', 'log', 'info'];
206
+ const errLevels = ['warn', 'error', 'fatal'];
207
+ let stdout;
208
+ let stderr;
209
+ let logger;
210
+ const oldOut = TestLogger.outLogs;
211
+ const oldFormatter = TestLogger.formatter;
212
+ afterAll(() => {
213
+ TestLogger.outLogs = oldOut;
214
+ TestLogger.formatter = oldFormatter;
215
+ });
216
+ beforeEach(() => {
217
+ stdout = new stream_1.PassThrough({ encoding: 'utf-8' });
218
+ stderr = new stream_1.PassThrough({ encoding: 'utf-8' });
219
+ TestLogger.outLogs = new console_out_1.ConsoleOut(stdout, stderr);
220
+ TestLogger.formatter = new json_formatter_1.JsonFormatter();
221
+ logger = new TestLogger(null, { show: true });
222
+ before?.(logger);
223
+ });
224
+ [...outLevels, ...errLevels].forEach(level => {
225
+ it(`level ${level}`, () => {
226
+ const std = outLevels.includes(level) ? constants_1.STDOUT : constants_1.STDERR;
227
+ const stream = outLevels.includes(level) ? stdout : stderr;
228
+ logger[level]('message');
229
+ const str = stream.read();
230
+ expect(str).not.toBeNull();
231
+ const message = JSON.parse(str);
232
+ expect(message.meta.level).toEqual(level);
233
+ expect(message.details._std).toEqual(std);
234
+ });
235
+ });
236
+ });
237
+ };
238
+ exports.testStandartLevels = testStandartLevels;
239
+ //# sourceMappingURL=testHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../src/helpers/testHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const sleep: (ms: number) => Promise<unknown>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = void 0;
4
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
5
+ exports.sleep = sleep;
6
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/helpers/time.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAAvE,QAAA,KAAK,SAAkE"}
@@ -0,0 +1,13 @@
1
+ export interface ILogger {
2
+ log(...msgs: any[]): void;
3
+ debug(...msgs: any[]): void;
4
+ trace?(...msgs: any[]): void;
5
+ info(...msgs: any[]): void;
6
+ warn(...msgs: any[]): void;
7
+ error(...msgs: any[]): void;
8
+ }
9
+ export type MaybePromise<T> = T | PromiseLike<T>;
10
+ export type SomeRequired<T, K extends keyof T> = T & Required<Pick<T, K>>;
11
+ export type MetaInfo = {
12
+ [key: symbol]: any;
13
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export { TemplateLogger } from './template.logger';
2
+ export { NestjsLogger } from './nestjs.logger';
3
+ import { Logger } from './logger';
4
+ export default Logger;
5
+ export { Logger };
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = exports.NestjsLogger = exports.TemplateLogger = void 0;
4
+ var template_logger_1 = require("./template.logger");
5
+ Object.defineProperty(exports, "TemplateLogger", { enumerable: true, get: function () { return template_logger_1.TemplateLogger; } });
6
+ var nestjs_logger_1 = require("./nestjs.logger");
7
+ Object.defineProperty(exports, "NestjsLogger", { enumerable: true, get: function () { return nestjs_logger_1.NestjsLogger; } });
8
+ const logger_1 = require("./logger");
9
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
10
+ exports.default = logger_1.Logger;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAAzC,iHAAA,cAAc,OAAA;AACvB,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,qCAAiC;AAGxB,uFAHA,eAAM,OAGA;AADf,kBAAe,eAAM,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { BaseLogger, IBaseLoggerOptions } from './base.logger';
2
+ import { Cat } from './utils/category';
3
+ export interface ILoggerOptions extends IBaseLoggerOptions {
4
+ }
5
+ export declare class Logger extends BaseLogger<ILoggerOptions> {
6
+ private readonly timers;
7
+ private readonly counters;
8
+ constructor(cat?: Cat);
9
+ constructor(cat: Cat | null, options?: Partial<ILoggerOptions>);
10
+ count(label?: string): import("./utils/items.manager").LogItem<number>;
11
+ time(label?: string): import("./utils/items.manager").LogItem<number>;
12
+ timeLog(label: string): void;
13
+ timeEnd(label: string): void;
14
+ static timeOptions: {
15
+ maxCacheTime: number;
16
+ checkCacheTimeout: number;
17
+ maxCacheSize: number;
18
+ logOnStart: boolean;
19
+ };
20
+ static countOptions: {
21
+ maxCacheTime: number;
22
+ checkCacheTimeout: number;
23
+ maxCacheSize: number;
24
+ };
25
+ }
package/dist/logger.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ const base_logger_1 = require("./base.logger");
5
+ const options_1 = require("./options");
6
+ const items_counter_1 = require("./utils/items.counter");
7
+ const items_timer_1 = require("./utils/items.timer");
8
+ class Logger extends base_logger_1.BaseLogger {
9
+ constructor(cat, options) {
10
+ super(cat, options);
11
+ this.timers = new items_timer_1.ItemsTimers(this, Logger.timeOptions);
12
+ this.counters = new items_counter_1.ItemsCounters(this, Logger.countOptions);
13
+ ['timers', 'counters'].forEach(key => {
14
+ Object.defineProperty(this, key, {
15
+ value: this[key],
16
+ enumerable: false,
17
+ configurable: true,
18
+ });
19
+ });
20
+ }
21
+ count(label) {
22
+ if (label && this.counters.has(label)) {
23
+ const item = this.counters.get(label);
24
+ item.log();
25
+ return item;
26
+ }
27
+ return this.counters.start(label);
28
+ }
29
+ time(label) {
30
+ return this.timers.start(label);
31
+ }
32
+ timeLog(label) {
33
+ return this.timers.log(label);
34
+ }
35
+ timeEnd(label) {
36
+ return this.timers.end(label);
37
+ }
38
+ }
39
+ exports.Logger = Logger;
40
+ Logger.timeOptions = options_1.timesOptions;
41
+ Logger.countOptions = options_1.countOptions;
42
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,+CAA8D;AAC9D,uCAAsD;AAEtD,yDAAqD;AACrD,qDAAiD;AAIjD,MAAa,MAAO,SAAQ,wBAA0B;IAMpD,YAAY,GAAgB,EAAE,OAAiC;QAC7D,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAClB;QAPc,WAAM,GAAG,IAAI,yBAAW,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;QAClD,aAAQ,GAAG,IAAI,6BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QAMrE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC/B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;gBAChB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAc;QAClB,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,CAAC,GAAG,EAAE,CAAA;YACV,OAAO,IAAI,CAAA;SACZ;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAC,KAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;;AApCH,wBAwCC;AAFQ,kBAAW,GAAG,sBAAY,CAAA;AAC1B,mBAAY,GAAG,sBAAY,CAAA"}
@@ -0,0 +1,28 @@
1
+ export declare const LEVELS: {
2
+ readonly trace: 1;
3
+ readonly debug: 2;
4
+ readonly log: 3;
5
+ readonly info: 4;
6
+ readonly warn: 5;
7
+ readonly error: 6;
8
+ readonly fatal: 7;
9
+ };
10
+ export declare const FATAL = "fatal";
11
+ export declare const OFF = "off";
12
+ export declare const STANDART_LEVELS: string[];
13
+ export type StandartLevels = keyof typeof LEVELS;
14
+ export type Level = StandartLevels | string;
15
+ export interface LoggingMainRules {
16
+ debugLevels: string[];
17
+ moduleDebugLevels: string[];
18
+ allowedLevels?: string | string[] | null;
19
+ isModule?: boolean | null;
20
+ isDev?: boolean | null;
21
+ showLogger?: boolean | null;
22
+ }
23
+ export interface LoggingTempRules {
24
+ showDebug?: boolean | null;
25
+ showCategory?: boolean | null;
26
+ showLog?: boolean | null;
27
+ }
28
+ export declare function loggingRules(level: string, temp: LoggingTempRules, main: LoggingMainRules): boolean;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loggingRules = exports.STANDART_LEVELS = exports.OFF = exports.FATAL = exports.LEVELS = void 0;
4
+ exports.LEVELS = {
5
+ trace: 1,
6
+ debug: 2,
7
+ log: 3,
8
+ info: 4,
9
+ warn: 5,
10
+ error: 6,
11
+ fatal: 7,
12
+ };
13
+ exports.FATAL = 'fatal';
14
+ exports.OFF = 'off';
15
+ exports.STANDART_LEVELS = Object.keys(exports.LEVELS).filter(level => level !== exports.FATAL);
16
+ function loggingRules(level, temp, main) {
17
+ const lvl = level.toLowerCase();
18
+ if (temp.showLog != null)
19
+ return logRules(temp.showLog, lvl, temp, main);
20
+ if (main.showLogger != null)
21
+ return logRules(main.showLogger, lvl, temp, { ...main, showLogger: null });
22
+ if (lvl === exports.FATAL)
23
+ return true;
24
+ if (temp.showCategory === false)
25
+ return false;
26
+ if (main.allowedLevels != null) {
27
+ if (typeof main.allowedLevels === 'string')
28
+ return stringAllowedLevel(lvl, main.allowedLevels.toLowerCase(), temp.showDebug);
29
+ if (Array.isArray(main.allowedLevels))
30
+ return arrayAllowedLevels(lvl, main.allowedLevels);
31
+ }
32
+ return missingAllowedLevels(level, temp.showDebug, main);
33
+ }
34
+ exports.loggingRules = loggingRules;
35
+ function logRules(rule, level, temp, main) {
36
+ if (!rule || !exports.STANDART_LEVELS.includes(level))
37
+ return rule;
38
+ if (main.isModule && !main.isDev)
39
+ return loggingRules(level, temp, main);
40
+ return true;
41
+ }
42
+ function arrayAllowedLevels(level, allowedLevels) {
43
+ return allowedLevels.includes(level);
44
+ }
45
+ function stringAllowedLevel(level, allowedLevels, showDebug) {
46
+ if (allowedLevels === exports.OFF)
47
+ return false;
48
+ if (showDebug || level === allowedLevels)
49
+ return true;
50
+ if (!(allowedLevels in exports.LEVELS))
51
+ return stringAllowedLevel(level, 'error', showDebug);
52
+ if (!(level in exports.LEVELS))
53
+ return true;
54
+ return exports.LEVELS[level] >= exports.LEVELS[allowedLevels];
55
+ }
56
+ function missingAllowedLevels(level, showDebug, main) {
57
+ if (showDebug == null)
58
+ return missingAllowedLevels(level, !!main.isDev, main);
59
+ if (showDebug)
60
+ return true;
61
+ const debugLevels = main.isModule ? main.moduleDebugLevels : main.debugLevels;
62
+ return !debugLevels.includes(level);
63
+ }
64
+ //# sourceMappingURL=logging.rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.rules.js","sourceRoot":"","sources":["../src/logging.rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { ErrorDetails } from './error.details';
2
+ import { ModDetails } from './mod.details';
3
+ import { TimeDetails } from './time.details';
4
+ import { TimeRange } from './time.range';
5
+ interface IDetails {
6
+ _errors?: ErrorDetails[];
7
+ _times?: TimeDetails[];
8
+ _stacktraces?: {
9
+ label?: string;
10
+ stack: string[];
11
+ }[];
12
+ _timeRange?: TimeRange;
13
+ _depth?: number;
14
+ _module?: ModDetails;
15
+ [key: string]: any;
16
+ }
17
+ export declare class Details {
18
+ readonly details: Record<string, any>;
19
+ readonly hidden: Record<string, any>;
20
+ readonly reserved: IDetails;
21
+ get empty(): boolean;
22
+ get stacks(): {
23
+ label?: string;
24
+ stack: string[];
25
+ }[];
26
+ get errors(): ErrorDetails[];
27
+ get times(): TimeDetails[];
28
+ get timeRange(): TimeRange;
29
+ get depth(): number;
30
+ get module(): ModDetails;
31
+ get<T = any>(key: string): T | undefined;
32
+ assign(obj: object): void;
33
+ hiddenAssign<D extends IDetails>(obj: D): void;
34
+ setError(error: ErrorDetails): void;
35
+ setTime(time: TimeDetails): void;
36
+ setStacktrace(stack: string[], label?: string): void;
37
+ setDepth(depth: number): void;
38
+ setTimeRange(range: TimeRange): void;
39
+ setModule(mod: ModDetails): void;
40
+ setModule(name: string, version?: string): void;
41
+ toJSON(): Record<string, any>;
42
+ }
43
+ export {};