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,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonFormatter = void 0;
4
+ class JsonFormatter {
5
+ symbol(value) {
6
+ return value.toString();
7
+ }
8
+ bigint(value) {
9
+ return `${value}n`;
10
+ }
11
+ date(value) {
12
+ return value.toJSON();
13
+ }
14
+ array(value) {
15
+ return value.toString();
16
+ }
17
+ null(value) {
18
+ return `${value}`;
19
+ }
20
+ messages(data) {
21
+ return data.join(' ');
22
+ }
23
+ time(pretty, label) {
24
+ return label ? `[${label}: ${pretty}]` : pretty;
25
+ }
26
+ error(name, message) {
27
+ return `[${name}: ${message}]`;
28
+ }
29
+ highlight(text) {
30
+ return `[${text}]`;
31
+ }
32
+ format(info) {
33
+ return JSON.stringify({
34
+ message: info.message,
35
+ meta: info.meta,
36
+ details: info.details.toJSON(),
37
+ '@timestamp': info.meta.timestamp,
38
+ '@index': info.index,
39
+ });
40
+ }
41
+ }
42
+ exports.JsonFormatter = JsonFormatter;
43
+ //# sourceMappingURL=json.formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.formatter.js","sourceRoot":"","sources":["../../src/utils/json.formatter.ts"],"names":[],"mappings":";;;AAGA,MAAa,aAAa;IACxB,MAAM,CAAC,KAAa;QAClB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,GAAG,KAAK,GAAG,CAAA;IACpB,CAAC;IAED,IAAI,CAAC,KAAW;QACd,OAAO,KAAK,CAAC,MAAM,EAAE,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,KAAY;QAChB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IACD,IAAI,CAAC,KAAuB;QAC1B,OAAO,GAAG,KAAK,EAAE,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,IAAW;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,KAAqB;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAAe;QACjC,OAAO,IAAI,IAAI,KAAK,OAAO,GAAG,CAAA;IAChC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,IAAI,GAAG,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,IAAa;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YACjC,QAAQ,EAAE,IAAI,CAAC,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;CACF;AA7CD,sCA6CC"}
@@ -0,0 +1,6 @@
1
+ import { Meta } from '../message/meta';
2
+ import { DarkStringFormatter } from './dark.string.formatter';
3
+ export declare class LightStringFormatter extends DarkStringFormatter {
4
+ time(pretty: string, label?: string | null): string;
5
+ protected prepareCategoryName(meta: Meta): string;
6
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LightStringFormatter = void 0;
4
+ const color_1 = require("../helpers/color");
5
+ const dark_string_formatter_1 = require("./dark.string.formatter");
6
+ class LightStringFormatter extends dark_string_formatter_1.DarkStringFormatter {
7
+ time(pretty, label) {
8
+ const time = (0, color_1.injectColor)(pretty, ['yellow']);
9
+ return label ? `${(0, color_1.injectColor)(`[${label}:`, 'bold')} ${time}${(0, color_1.injectColor)(']', 'bold')}` : time;
10
+ }
11
+ prepareCategoryName(meta) {
12
+ return (0, color_1.injectColor)(meta.category, ['cyan', 'italic']);
13
+ }
14
+ }
15
+ exports.LightStringFormatter = LightStringFormatter;
16
+ //# sourceMappingURL=light.string.formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light.string.formatter.js","sourceRoot":"","sources":["../../src/utils/light.string.formatter.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAE9C,mEAA6D;AAE7D,MAAa,oBAAqB,SAAQ,2CAAmB;IAC3D,IAAI,CAAC,MAAc,EAAE,KAAqB;QACxC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA,mBAAW,EAAC,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACjG,CAAC;IAES,mBAAmB,CAAC,IAAU;QACtC,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvD,CAAC;CACF;AATD,oDASC"}
@@ -0,0 +1,16 @@
1
+ import { Meta } from '../message/meta';
2
+ import { IFormatter } from './types';
3
+ import { LogInfo } from '../message/log.info';
4
+ export declare class LogReader {
5
+ private readonly formatter;
6
+ constructor(formatter: IFormatter);
7
+ read(meta: Meta, data: any[]): LogInfo;
8
+ private readMessages;
9
+ private metaInfo;
10
+ private setTime;
11
+ private setTimeRange;
12
+ private setModule;
13
+ private setHighlight;
14
+ private setStacktrace;
15
+ private setError;
16
+ }
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogReader = void 0;
4
+ const symbols_1 = require("../helpers/symbols");
5
+ const time_range_1 = require("../message/time.range");
6
+ const time_details_1 = require("../message/time.details");
7
+ const mod_details_1 = require("../message/mod.details");
8
+ const stack_1 = require("../helpers/stack");
9
+ const error_details_1 = require("../message/error.details");
10
+ const log_info_1 = require("../message/log.info");
11
+ class LogReader {
12
+ constructor(formatter) {
13
+ this.formatter = formatter;
14
+ }
15
+ read(meta, data) {
16
+ const info = new log_info_1.LogInfo(meta.clone());
17
+ this.readMessages(data, info);
18
+ for (const idx of info.entities.time)
19
+ info.messages[idx] = this.formatter.time(info.messages[idx].pretty, info.messages[idx].label || null, info);
20
+ for (const idx of info.entities.error)
21
+ info.messages[idx] = this.formatter.error(info.messages[idx].name, info.messages[idx].message, info);
22
+ for (const idx of info.entities.highlight)
23
+ info.messages[idx] = this.formatter.highlight(info.messages[idx], info);
24
+ info.message = this.formatter.messages(info.messages, info);
25
+ return info;
26
+ }
27
+ readMessages(msgs, info) {
28
+ for (const msg of msgs) {
29
+ if (msg == null)
30
+ info.push(this.formatter.null(msg, info));
31
+ else if (typeof msg === 'symbol')
32
+ info.push(this.formatter.symbol(msg, info));
33
+ else if (typeof msg === 'bigint')
34
+ info.push(this.formatter.bigint(msg, info));
35
+ else if ((0, symbols_1.isMetaInfo)(msg))
36
+ this.metaInfo(msg, info);
37
+ else if (msg instanceof Error)
38
+ this.setError(info, new error_details_1.ErrorDetails(msg));
39
+ else if (msg instanceof Date)
40
+ info.push(this.formatter.date(msg, info));
41
+ else if (Array.isArray(msg))
42
+ info.push(this.formatter.array(msg, info));
43
+ else if (msg && typeof msg === 'object')
44
+ info.details.assign(msg);
45
+ else if (typeof msg === 'string' && !msg)
46
+ continue;
47
+ else
48
+ info.push(msg);
49
+ }
50
+ }
51
+ metaInfo(msg, info) {
52
+ switch (msg[symbols_1.IS_META_INFO]) {
53
+ case symbols_1.EMPTY:
54
+ return;
55
+ case symbols_1.INTERPOLATE:
56
+ return this.readMessages(msg[symbols_1.META_VALUE] || [], info);
57
+ case symbols_1.SHOW:
58
+ info.show = msg[symbols_1.META_VALUE] === undefined || !!msg[symbols_1.META_VALUE];
59
+ break;
60
+ case symbols_1.DEPTH:
61
+ info.details.setDepth(msg[symbols_1.META_VALUE]);
62
+ break;
63
+ case symbols_1.HIDDEN_DETAILS:
64
+ case symbols_1.NO_CONSOLE:
65
+ info.details.hiddenAssign(msg[symbols_1.META_VALUE]);
66
+ break;
67
+ case symbols_1.DETAILS:
68
+ info.details.assign(msg[symbols_1.META_VALUE]);
69
+ break;
70
+ case symbols_1.PROJECT:
71
+ info.meta.set('project', msg[symbols_1.META_VALUE]);
72
+ break;
73
+ case symbols_1.SERVICE:
74
+ info.meta.set('service', msg[symbols_1.META_VALUE]);
75
+ break;
76
+ case symbols_1.CATEGORY:
77
+ info.meta.set('category', msg[symbols_1.META_VALUE]);
78
+ break;
79
+ case symbols_1.LEVEL:
80
+ info.meta.set('level', msg[symbols_1.META_VALUE]);
81
+ break;
82
+ case symbols_1.TRACE_ID:
83
+ info.meta.set('traceId', msg[symbols_1.META_VALUE]);
84
+ break;
85
+ case symbols_1.INDEX:
86
+ info.index = msg[symbols_1.META_VALUE];
87
+ break;
88
+ case symbols_1.TIMESTAMP:
89
+ info.meta.set('timestamp', msg[symbols_1.META_VALUE]);
90
+ break;
91
+ case symbols_1.MODULE:
92
+ return this.setModule(info, msg[symbols_1.META_VALUE]);
93
+ case symbols_1.TIME:
94
+ return this.setTime(info, msg[symbols_1.META_VALUE]);
95
+ case symbols_1.TIMERANGE:
96
+ return this.setTimeRange(info, msg[symbols_1.META_VALUE]);
97
+ case symbols_1.HIGHLIGHT:
98
+ return this.setHighlight(info, msg[symbols_1.META_VALUE]);
99
+ case symbols_1.STACKTRACE:
100
+ return this.setStacktrace(info, msg[symbols_1.META_VALUE]);
101
+ }
102
+ }
103
+ setTime(info, value) {
104
+ if (value instanceof time_details_1.TimeDetails) {
105
+ info.details.setTime(value);
106
+ info.entity('time', value);
107
+ }
108
+ }
109
+ setTimeRange(info, value) {
110
+ if (value instanceof time_range_1.TimeRange) {
111
+ info.details.setTimeRange(value);
112
+ info.entity('time', value.delta);
113
+ }
114
+ }
115
+ setModule(info, value) {
116
+ if (value instanceof mod_details_1.ModDetails)
117
+ info.details.setModule(value);
118
+ }
119
+ setHighlight(info, value) {
120
+ if (typeof value === 'string' && value.length)
121
+ info.entity('highlight', value);
122
+ }
123
+ setStacktrace(info, value) {
124
+ if (typeof value === 'string')
125
+ return this.setStacktrace(info, { stack: (0, stack_1.stackToArray)(value) });
126
+ if (Array.isArray(value))
127
+ return this.setStacktrace(info, { stack: [...value] });
128
+ if (typeof value !== 'object' || !value.stack)
129
+ return;
130
+ if (!value.label &&
131
+ value.stack[0] &&
132
+ value.stack.length > 1 &&
133
+ typeof value.stack[0] === 'string' &&
134
+ !value.stack[0].startsWith('at')) {
135
+ const stack = [...value.stack];
136
+ const label = stack.shift();
137
+ return this.setStacktrace(info, { label, stack });
138
+ }
139
+ info.details.setStacktrace(value.stack, value.label);
140
+ }
141
+ setError(info, value) {
142
+ if (value instanceof error_details_1.ErrorDetails) {
143
+ info.details.setError(value);
144
+ info.entity('error', value);
145
+ }
146
+ }
147
+ }
148
+ exports.LogReader = LogReader;
149
+ //# sourceMappingURL=log.reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.reader.js","sourceRoot":"","sources":["../../src/utils/log.reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ModDetails } from '../message/mod.details';
2
+ export declare class Mod extends ModDetails {
3
+ readonly type: 'app' | 'module';
4
+ readonly pathname: string;
5
+ constructor(type: 'app' | 'module', name: string, version: string, pathname: string);
6
+ get id(): string;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Mod = void 0;
4
+ const mod_details_1 = require("../message/mod.details");
5
+ class Mod extends mod_details_1.ModDetails {
6
+ constructor(type, name, version, pathname) {
7
+ super(name, version);
8
+ this.type = type;
9
+ this.pathname = pathname;
10
+ }
11
+ get id() {
12
+ return `${this.name}@${this.version}`;
13
+ }
14
+ }
15
+ exports.Mod = Mod;
16
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/utils/mod.ts"],"names":[],"mappings":";;;AAAA,wDAAmD;AAEnD,MAAa,GAAI,SAAQ,wBAAU;IACjC,YAAqB,IAAsB,EAAE,IAAY,EAAE,OAAe,EAAW,QAAgB;QACnG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QADD,SAAI,GAAJ,IAAI,CAAkB;QAA0C,aAAQ,GAAR,QAAQ,CAAQ;IAErG,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IACvC,CAAC;CACF;AARD,kBAQC"}
@@ -0,0 +1,12 @@
1
+ import { Mod } from './mod';
2
+ export declare class ModResolver {
3
+ #private;
4
+ get modules(): Map<string, Mod>;
5
+ get app(): Mod;
6
+ resolve(pathname: string): Mod;
7
+ private findApp;
8
+ private findPackage;
9
+ private resolveCached;
10
+ private findModule;
11
+ private includePath;
12
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var _ModResolver_modules, _ModResolver_app;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ModResolver = void 0;
16
+ const fs_1 = require("fs");
17
+ const path_1 = require("path");
18
+ const debug_1 = require("../helpers/debug");
19
+ const fs_2 = require("../helpers/fs");
20
+ const mod_1 = require("./mod");
21
+ const debug = (0, debug_1.createDebug)('mod');
22
+ const PACKAGE_JSON = 'package.json';
23
+ const NODE_MODULES = 'node_modules';
24
+ class ModResolver {
25
+ constructor() {
26
+ _ModResolver_modules.set(this, new Map());
27
+ _ModResolver_app.set(this, void 0);
28
+ }
29
+ get modules() {
30
+ return __classPrivateFieldGet(this, _ModResolver_modules, "f");
31
+ }
32
+ get app() {
33
+ if (__classPrivateFieldGet(this, _ModResolver_app, "f") !== undefined)
34
+ return __classPrivateFieldGet(this, _ModResolver_app, "f");
35
+ __classPrivateFieldSet(this, _ModResolver_app, this.findApp(), "f");
36
+ __classPrivateFieldGet(this, _ModResolver_modules, "f").set(__classPrivateFieldGet(this, _ModResolver_app, "f").pathname, __classPrivateFieldGet(this, _ModResolver_app, "f"));
37
+ return __classPrivateFieldGet(this, _ModResolver_app, "f");
38
+ }
39
+ resolve(pathname) {
40
+ const saved = __classPrivateFieldGet(this, _ModResolver_modules, "f").get(pathname);
41
+ if (saved)
42
+ return saved;
43
+ if (__classPrivateFieldGet(this, _ModResolver_modules, "f").has(pathname))
44
+ return this.app;
45
+ const cached = this.resolveCached(pathname);
46
+ if (cached) {
47
+ __classPrivateFieldGet(this, _ModResolver_modules, "f").set(pathname, cached);
48
+ return cached;
49
+ }
50
+ const finded = this.findModule(pathname);
51
+ if (!finded || finded.id === this.app.id) {
52
+ __classPrivateFieldGet(this, _ModResolver_modules, "f").set(pathname, this.app);
53
+ return this.app;
54
+ }
55
+ __classPrivateFieldGet(this, _ModResolver_modules, "f").set(pathname, finded);
56
+ return finded;
57
+ }
58
+ findApp() {
59
+ debug('find app');
60
+ const app = this.findPackage(process.cwd(), 'app');
61
+ if (app)
62
+ return app;
63
+ return new mod_1.Mod('app', process.env.npm_package_name || 'app', process.env.npm_package_version || '1.0.0', process.cwd());
64
+ }
65
+ findPackage(pathname, type) {
66
+ try {
67
+ const pkgPathname = (0, fs_2.searchFileRecursive)(pathname, PACKAGE_JSON);
68
+ debug(`Find package "${pathname}". package=${pkgPathname}`);
69
+ if (pkgPathname) {
70
+ const pkg = JSON.parse((0, fs_1.readFileSync)(pkgPathname, 'utf-8'));
71
+ return new mod_1.Mod(type, pkg.name, pkg.version, (0, path_1.dirname)(pkgPathname));
72
+ }
73
+ return null;
74
+ }
75
+ catch (err) {
76
+ if (process.env.NLOGS_CONSISTENCY_CHECK)
77
+ throw err;
78
+ else
79
+ debug(err);
80
+ return null;
81
+ }
82
+ }
83
+ resolveCached(pathname) {
84
+ const key = [...__classPrivateFieldGet(this, _ModResolver_modules, "f").keys()].find(spath => this.includePath(spath, pathname));
85
+ if (key)
86
+ debug(`Resolve cache key "${key}"`);
87
+ return (key && __classPrivateFieldGet(this, _ModResolver_modules, "f").get(key)) || null;
88
+ }
89
+ findModule(pathname) {
90
+ debug(`Find module by pathname=${pathname}`);
91
+ if (this.includePath(this.app.pathname, pathname))
92
+ return this.app;
93
+ return this.findPackage(pathname, 'module');
94
+ }
95
+ includePath(base, pathname) {
96
+ return pathname.includes(base) && !pathname.replace(base, '').includes(NODE_MODULES);
97
+ }
98
+ }
99
+ exports.ModResolver = ModResolver;
100
+ _ModResolver_modules = new WeakMap(), _ModResolver_app = new WeakMap();
101
+ //# sourceMappingURL=mod.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.resolver.js","sourceRoot":"","sources":["../../src/utils/mod.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Mod } from './mod';
2
+ import { MetaInfo } from '../helpers/types';
3
+ import { ModDetails } from '../message/mod.details';
4
+ export declare class StaticLogger {
5
+ static toMetaInfo(key: symbol, value: any): MetaInfo;
6
+ static time(ms: number, label?: string): MetaInfo;
7
+ static highlight(text: string): MetaInfo;
8
+ static stacktrace(stack: string | string[], label?: string): MetaInfo;
9
+ static details(obj: Record<string, any>): MetaInfo;
10
+ static hiddenDetails(obj: Record<string, any>): MetaInfo;
11
+ static noConsole(obj: Record<string, any>): MetaInfo;
12
+ static depth(depth: number): MetaInfo;
13
+ static timeRange(from: number | Date, to?: number | Date): MetaInfo;
14
+ static timeRange(from: number | Date, label?: string): MetaInfo;
15
+ static timeRange(from: number | Date, to: number | Date, label?: string): MetaInfo;
16
+ static module(module: ModDetails | Mod): any;
17
+ static module(module: string, version?: string): any;
18
+ static project(project: string): MetaInfo;
19
+ static service(service: string): MetaInfo;
20
+ static category(category: string): MetaInfo;
21
+ static level(level: string): MetaInfo;
22
+ static traceId(traceId: string): MetaInfo;
23
+ static index(index: string): MetaInfo;
24
+ static timestamp(timestamp: Date): MetaInfo;
25
+ static show(value?: boolean): MetaInfo;
26
+ static interpolate(data: any[]): MetaInfo;
27
+ static pretty(value: any, wrap?: boolean): string;
28
+ static prettyArray(arr: any[], wrap?: boolean, wrapItem?: boolean): string;
29
+ static prettyList(list: any | any[], wrap?: boolean, wrapItem?: boolean): string;
30
+ static empty(): MetaInfo;
31
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticLogger = void 0;
4
+ const stack_1 = require("../helpers/stack");
5
+ const symbols_1 = require("../helpers/symbols");
6
+ const mod_details_1 = require("../message/mod.details");
7
+ const time_details_1 = require("../message/time.details");
8
+ const time_range_1 = require("../message/time.range");
9
+ const string_1 = require("../helpers/string");
10
+ class StaticLogger {
11
+ static toMetaInfo(key, value) {
12
+ return (0, symbols_1.toMetaInfo)(key, value);
13
+ }
14
+ static time(ms, label) {
15
+ return this.toMetaInfo(symbols_1.TIME, new time_details_1.TimeDetails(ms, label));
16
+ }
17
+ static highlight(text) {
18
+ return this.toMetaInfo(symbols_1.HIGHLIGHT, text);
19
+ }
20
+ static stacktrace(stack, label) {
21
+ return this.toMetaInfo(symbols_1.STACKTRACE, { stack: (0, stack_1.stackToArray)(stack), label });
22
+ }
23
+ static details(obj) {
24
+ return this.toMetaInfo(symbols_1.DETAILS, obj);
25
+ }
26
+ static hiddenDetails(obj) {
27
+ return this.toMetaInfo(symbols_1.HIDDEN_DETAILS, obj);
28
+ }
29
+ static noConsole(obj) {
30
+ return this.hiddenDetails(obj);
31
+ }
32
+ static depth(depth) {
33
+ return this.toMetaInfo(symbols_1.DEPTH, depth);
34
+ }
35
+ static timeRange(from, toOrLabel, label) {
36
+ return this.toMetaInfo(symbols_1.TIMERANGE, new time_range_1.TimeRange(from, typeof toOrLabel !== 'string' ? toOrLabel : undefined, typeof toOrLabel === 'string' ? toOrLabel : label));
37
+ }
38
+ static module(module, version) {
39
+ if (typeof module === 'string')
40
+ return this.module(new mod_details_1.ModDetails(module, version));
41
+ return this.toMetaInfo(symbols_1.MODULE, module);
42
+ }
43
+ static project(project) {
44
+ return this.toMetaInfo(symbols_1.PROJECT, project);
45
+ }
46
+ static service(service) {
47
+ return this.toMetaInfo(symbols_1.SERVICE, service);
48
+ }
49
+ static category(category) {
50
+ return this.toMetaInfo(symbols_1.CATEGORY, category);
51
+ }
52
+ static level(level) {
53
+ return this.toMetaInfo(symbols_1.LEVEL, level);
54
+ }
55
+ static traceId(traceId) {
56
+ return this.toMetaInfo(symbols_1.TRACE_ID, traceId);
57
+ }
58
+ static index(index) {
59
+ return this.toMetaInfo(symbols_1.INDEX, index);
60
+ }
61
+ static timestamp(timestamp) {
62
+ return this.toMetaInfo(symbols_1.TIMESTAMP, timestamp);
63
+ }
64
+ static show(value) {
65
+ return this.toMetaInfo(symbols_1.SHOW, value === undefined || !!value);
66
+ }
67
+ static interpolate(data) {
68
+ return this.toMetaInfo(symbols_1.INTERPOLATE, data);
69
+ }
70
+ static pretty(value, wrap) {
71
+ return (0, string_1.prettyValue)(value, wrap);
72
+ }
73
+ static prettyArray(arr, wrap, wrapItem) {
74
+ return (0, string_1.prettyArray)(arr, wrap, wrapItem);
75
+ }
76
+ static prettyList(list, wrap, wrapItem) {
77
+ return (0, string_1.prettyList)(list, wrap, wrapItem);
78
+ }
79
+ static empty() {
80
+ return this.toMetaInfo(symbols_1.EMPTY, true);
81
+ }
82
+ }
83
+ exports.StaticLogger = StaticLogger;
84
+ //# sourceMappingURL=static.logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.logger.js","sourceRoot":"","sources":["../../src/utils/static.logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { Details } from '../message/details';
2
+ import { LogInfo } from '../message/log.info';
3
+ import { Meta } from '../message/meta';
4
+ import { IFormatter } from './types';
5
+ export declare class StringFormatter implements IFormatter {
6
+ symbol(value: symbol): symbol;
7
+ bigint(value: bigint): bigint;
8
+ date(value: Date): Date;
9
+ array(value: any[]): any[];
10
+ null(value: null | undefined): null;
11
+ readonly separator: string;
12
+ readonly timestampSeparator: string;
13
+ readonly stacktraceSeparator: string;
14
+ readonly brackets: [string, string];
15
+ readonly colors: boolean;
16
+ readonly depth: number;
17
+ messages(data: any[]): string;
18
+ time(pretty: string, label: string | null, info: LogInfo): string;
19
+ error(name: string, message: string, info: LogInfo): string;
20
+ highlight(text: string, info: LogInfo): string;
21
+ protected wrap(str: string, count: number): string;
22
+ format(info: LogInfo): string;
23
+ protected prepareTimestamp(date: Date): string;
24
+ protected prepareCategory(meta: Meta, details: Details): string;
25
+ protected prepareCategoryName(meta: Meta): string;
26
+ protected prepareModuleName(details: Details): string;
27
+ protected prepareLevel(meta: Meta): string;
28
+ protected prepareMessage(message: string, details: Details): string;
29
+ protected prepareStacktraces(details: Details): string;
30
+ }