@niceties/logger 1.1.12 → 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.
Files changed (56) hide show
  1. package/README.md +173 -54
  2. package/appender-utils.js +30 -0
  3. package/console-appender.js +7 -0
  4. package/core.js +96 -0
  5. package/default-formatting.js +17 -0
  6. package/format-utils.js +21 -0
  7. package/global-appender.js +15 -0
  8. package/index.d.ts +362 -0
  9. package/index.d.ts.map +48 -0
  10. package/index.js +40 -0
  11. package/package.json +24 -37
  12. package/simple.js +42 -0
  13. package/types.js +17 -0
  14. package/appender-utils/package.json +0 -5
  15. package/console-appender/package.json +0 -5
  16. package/core/package.json +0 -5
  17. package/default-formatting/package.json +0 -5
  18. package/dist/appender-utils.cjs +0 -22
  19. package/dist/appender-utils.d.ts +0 -3
  20. package/dist/appender-utils.mjs +0 -19
  21. package/dist/appender-utils.umd.js +0 -2
  22. package/dist/appender-utils.umd.js.map +0 -1
  23. package/dist/console-appender.cjs +0 -9
  24. package/dist/console-appender.d.ts +0 -2
  25. package/dist/console-appender.mjs +0 -7
  26. package/dist/console-appender.umd.js +0 -2
  27. package/dist/console-appender.umd.js.map +0 -1
  28. package/dist/core.cjs +0 -72
  29. package/dist/core.d.ts +0 -7
  30. package/dist/core.mjs +0 -70
  31. package/dist/core.umd.js +0 -2
  32. package/dist/core.umd.js.map +0 -1
  33. package/dist/default-formatting.cjs +0 -17
  34. package/dist/default-formatting.d.ts +0 -5
  35. package/dist/default-formatting.mjs +0 -12
  36. package/dist/format-utils.cjs +0 -21
  37. package/dist/format-utils.d.ts +0 -3
  38. package/dist/format-utils.mjs +0 -18
  39. package/dist/global-appender.cjs +0 -12
  40. package/dist/global-appender.d.ts +0 -3
  41. package/dist/global-appender.mjs +0 -10
  42. package/dist/global-appender.umd.js +0 -2
  43. package/dist/global-appender.umd.js.map +0 -1
  44. package/dist/index.cjs +0 -19
  45. package/dist/index.d.ts +0 -4
  46. package/dist/index.mjs +0 -18
  47. package/dist/simple.cjs +0 -25
  48. package/dist/simple.d.ts +0 -4
  49. package/dist/simple.mjs +0 -23
  50. package/dist/simple.umd.js +0 -2
  51. package/dist/simple.umd.js.map +0 -1
  52. package/dist/types.d.ts +0 -51
  53. package/format-utils/package.json +0 -5
  54. package/global-appender/package.json +0 -5
  55. package/simple/package.json +0 -5
  56. package/types/package.json +0 -3
package/index.d.ts ADDED
@@ -0,0 +1,362 @@
1
+ declare module '@niceties/logger' {
2
+ export type LogMessage<ErrorContext = Error> = LogMessage_1<ErrorContext>;
3
+ export type LogLevel = number;
4
+ export namespace LogLevel {
5
+ let verbose: number;
6
+ let info: number;
7
+ let warn: number;
8
+ let error: number;
9
+ }
10
+ export type Action = number;
11
+ export namespace Action {
12
+ let start: 0;
13
+ let update: 1;
14
+ let finish: 2;
15
+ let log: 3;
16
+ }
17
+ export interface DefaultExtendedApi {
18
+ setMinLevel: (logLevel: number) => void;
19
+ }
20
+ export type LogMessageBase<ErrorContext = Error> = {
21
+ loglevel: number;
22
+ message: string;
23
+ tag?: string | undefined;
24
+ parentId?: number | undefined;
25
+ context?: ErrorContext | undefined;
26
+ };
27
+ export type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
28
+ inputId: number;
29
+ action: 0 | 1 | 2;
30
+ ref: WeakRef<never>;
31
+ };
32
+ export type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
33
+ inputId?: number;
34
+ action: 3;
35
+ ref?: WeakRef<never>;
36
+ };
37
+ type LogMessage_1<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
38
+ export type Appender<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: LogMessage_1<ErrorContext>) => void) & {
39
+ api?: Api;
40
+ };
41
+ export type Identity = {
42
+ id?: number | undefined;
43
+ };
44
+ export type Prefixes = {
45
+ [index: number]: string;
46
+ };
47
+ export type ColorFormatters = {
48
+ [index: number]: ((text: string) => string) | undefined;
49
+ };
50
+ export type Formatter<ErrorContext = Error> = (message: LogMessage_1<ErrorContext>, usePrefix?: string | boolean | undefined, indentation?: number | undefined) => string;
51
+ export type Logger<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: string, loglevel?: number, context?: ErrorContext) => void) & {
52
+ start(message: string, loglevel?: number, context?: ErrorContext): void;
53
+ update(message: string, loglevel?: number, context?: ErrorContext): void;
54
+ finish(message: string, loglevel?: number, context?: ErrorContext): void;
55
+ appender(appender?: Appender<ErrorContext, Api>): (message: LogMessage_1<ErrorContext>) => void;
56
+ } & Identity & Api;
57
+ export function createLogger<ErrorContext = Error, Api = DefaultExtendedApi>(...args: (string | Identity_1 | undefined)[]): ((message: string, loglevel?: number, context?: ErrorContext) => void) & {
58
+ start(message: string, loglevel?: number, context?: ErrorContext): void;
59
+ update(message: string, loglevel?: number, context?: ErrorContext): void;
60
+ finish(message: string, loglevel?: number, context?: ErrorContext): void;
61
+ appender(appender?: Appender_1<ErrorContext, Api>): (message: LogMessage_1_2<ErrorContext>) => void;
62
+ } & Identity_1 & Api;
63
+ type Appender_1<ErrorContext = Error, Api = DefaultExtendedApi> = Appender<ErrorContext, Api>;
64
+ type LogMessage_1_2<ErrorContext = Error> = LogMessage_1<ErrorContext>;
65
+ type Identity_1 = Identity;
66
+ export function appender<ErrorContext = Error, Api = DefaultExtendedApi>(newAppender?: Appender_1_2<ErrorContext, Api>): Appender_1_2<unknown> | undefined;
67
+ type Appender_1_2<ErrorContext = Error, Api = DefaultExtendedApi> = Appender<ErrorContext, Api>;
68
+
69
+ export {};
70
+ }
71
+
72
+ declare module '@niceties/logger/default-formatting' {
73
+ export const unicodePrefixes: Prefixes;
74
+
75
+ export const asciiPrefixes: Prefixes;
76
+
77
+ export const unicodeLogPrefixes: Prefixes;
78
+
79
+ export const asciiLogPrefixes: Prefixes;
80
+
81
+ export const colors: ColorFormatters;
82
+ export function tagFactory(tag: string): string;
83
+ export type ColorFormatters = ColorFormatters_1;
84
+ export type Prefixes = Prefixes_1;
85
+ type Prefixes_1 = {
86
+ [index: number]: string;
87
+ };
88
+ type ColorFormatters_1 = {
89
+ [index: number]: ((text: string) => string) | undefined;
90
+ };
91
+
92
+ export {};
93
+ }
94
+
95
+ declare module '@niceties/logger/core' {
96
+ export function createLogger<ErrorContext = Error, Api = DefaultExtendedApi>(...args: (string | Identity | undefined)[]): ((message: string, loglevel?: number, context?: ErrorContext) => void) & {
97
+ start(message: string, loglevel?: number, context?: ErrorContext): void;
98
+ update(message: string, loglevel?: number, context?: ErrorContext): void;
99
+ finish(message: string, loglevel?: number, context?: ErrorContext): void;
100
+ appender(appender?: Appender<ErrorContext, Api>): (message: LogMessage<ErrorContext>) => void;
101
+ } & Identity & Api;
102
+ export type Appender<ErrorContext = Error, Api = DefaultExtendedApi> = Appender_1<ErrorContext, Api>;
103
+ export type LogMessage<ErrorContext = Error> = LogMessage_1<ErrorContext>;
104
+ export type Identity = Identity_1;
105
+ interface DefaultExtendedApi {
106
+ setMinLevel: (logLevel: number) => void;
107
+ }
108
+ type LogMessageBase<ErrorContext = Error> = {
109
+ loglevel: number;
110
+ message: string;
111
+ tag?: string | undefined;
112
+ parentId?: number | undefined;
113
+ context?: ErrorContext | undefined;
114
+ };
115
+ type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
116
+ inputId: number;
117
+ action: 0 | 1 | 2;
118
+ ref: WeakRef<never>;
119
+ };
120
+ type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
121
+ inputId?: number;
122
+ action: 3;
123
+ ref?: WeakRef<never>;
124
+ };
125
+ type LogMessage_1<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
126
+ type Appender_1<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: LogMessage_1<ErrorContext>) => void) & {
127
+ api?: Api;
128
+ };
129
+ type Identity_1 = {
130
+ id?: number | undefined;
131
+ };
132
+
133
+ export {};
134
+ }
135
+
136
+ declare module '@niceties/logger/simple' {
137
+ export function createLogger<ErrorContext = Error, Api = DefaultExtendedApi>(tag?: string): ((message: string, loglevel?: number, context?: ErrorContext) => void) & {
138
+ appender(appender?: Appender<ErrorContext, Api>): (message: LogMessage<ErrorContext>) => void;
139
+ } & Api;
140
+ export type Appender<ErrorContext = Error, Api = DefaultExtendedApi> = Appender_1<ErrorContext, Api>;
141
+ export type LogMessage<ErrorContext = Error> = LogMessage_1<ErrorContext>;
142
+ interface DefaultExtendedApi {
143
+ setMinLevel: (logLevel: number) => void;
144
+ }
145
+ type LogMessageBase<ErrorContext = Error> = {
146
+ loglevel: number;
147
+ message: string;
148
+ tag?: string | undefined;
149
+ parentId?: number | undefined;
150
+ context?: ErrorContext | undefined;
151
+ };
152
+ type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
153
+ inputId: number;
154
+ action: 0 | 1 | 2;
155
+ ref: WeakRef<never>;
156
+ };
157
+ type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
158
+ inputId?: number;
159
+ action: 3;
160
+ ref?: WeakRef<never>;
161
+ };
162
+ type LogMessage_1<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
163
+ type Appender_1<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: LogMessage_1<ErrorContext>) => void) & {
164
+ api?: Api;
165
+ };
166
+
167
+ export {};
168
+ }
169
+
170
+ declare module '@niceties/logger/console-appender' {
171
+ export function createConsoleAppender(formatter: Formatter): Appender;
172
+ export type Formatter = Formatter_1;
173
+ export type LogMessage = LogMessage_1;
174
+ export type Appender = Appender_1;
175
+ interface DefaultExtendedApi {
176
+ setMinLevel: (logLevel: number) => void;
177
+ }
178
+ type LogMessageBase<ErrorContext = Error> = {
179
+ loglevel: number;
180
+ message: string;
181
+ tag?: string | undefined;
182
+ parentId?: number | undefined;
183
+ context?: ErrorContext | undefined;
184
+ };
185
+ type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
186
+ inputId: number;
187
+ action: 0 | 1 | 2;
188
+ ref: WeakRef<never>;
189
+ };
190
+ type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
191
+ inputId?: number;
192
+ action: 3;
193
+ ref?: WeakRef<never>;
194
+ };
195
+ type LogMessage_1<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
196
+ type Appender_1<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: LogMessage_1<ErrorContext>) => void) & {
197
+ api?: Api;
198
+ };
199
+ type Formatter_1<ErrorContext = Error> = (message: LogMessage_1<ErrorContext>, usePrefix?: string | boolean | undefined, indentation?: number | undefined) => string;
200
+
201
+ export {};
202
+ }
203
+
204
+ declare module '@niceties/logger/format-utils' {
205
+ export function createFormatter(colors: ColorFormatters, prefixes: Prefixes, logPrefixes: Prefixes, tagFactory: (tag: string) => string): (message: LogMessage, usePrefix?: string | boolean, indentation?: number) => string;
206
+ export function terminalSupportsUnicode(): boolean;
207
+ export type LogMessage = LogMessage_1;
208
+ export type ColorFormatters = ColorFormatters_1;
209
+ export type Prefixes = Prefixes_1;
210
+ type LogMessageBase<ErrorContext = Error> = {
211
+ loglevel: number;
212
+ message: string;
213
+ tag?: string | undefined;
214
+ parentId?: number | undefined;
215
+ context?: ErrorContext | undefined;
216
+ };
217
+ type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
218
+ inputId: number;
219
+ action: 0 | 1 | 2;
220
+ ref: WeakRef<never>;
221
+ };
222
+ type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
223
+ inputId?: number;
224
+ action: 3;
225
+ ref?: WeakRef<never>;
226
+ };
227
+ type LogMessage_1<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
228
+ type Prefixes_1 = {
229
+ [index: number]: string;
230
+ };
231
+ type ColorFormatters_1 = {
232
+ [index: number]: ((text: string) => string) | undefined;
233
+ };
234
+
235
+ export {};
236
+ }
237
+
238
+ declare module '@niceties/logger/global-appender' {
239
+ export let globalAppender: Appender<unknown> | undefined;
240
+ export function appender<ErrorContext = Error, Api = DefaultExtendedApi>(newAppender?: Appender<ErrorContext, Api>): Appender<unknown> | undefined;
241
+ export type Appender<ErrorContext = Error, Api = DefaultExtendedApi> = Appender_1<ErrorContext, Api>;
242
+ interface DefaultExtendedApi {
243
+ setMinLevel: (logLevel: number) => void;
244
+ }
245
+ type LogMessageBase<ErrorContext = Error> = {
246
+ loglevel: number;
247
+ message: string;
248
+ tag?: string | undefined;
249
+ parentId?: number | undefined;
250
+ context?: ErrorContext | undefined;
251
+ };
252
+ type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
253
+ inputId: number;
254
+ action: 0 | 1 | 2;
255
+ ref: WeakRef<never>;
256
+ };
257
+ type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
258
+ inputId?: number;
259
+ action: 3;
260
+ ref?: WeakRef<never>;
261
+ };
262
+ type LogMessage<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
263
+ type Appender_1<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: LogMessage<ErrorContext>) => void) & {
264
+ api?: Api;
265
+ };
266
+
267
+ export {};
268
+ }
269
+
270
+ declare module '@niceties/logger/appender-utils' {
271
+ export function filterMessages<ErrorContext = Error, Api = DefaultExtendedApi>(predicate: (logMessage: LogMessage<ErrorContext>) => boolean, appender: Appender<ErrorContext, Api>): Appender<ErrorContext, Api>;
272
+ export function combineAppenders<ErrorContext = Error, Api = DefaultExtendedApi>(...appenders: Appender<ErrorContext, Api>[]): Appender<ErrorContext, Api>;
273
+ export type LogMessage<ErrorContext = Error> = LogMessage_1<ErrorContext>;
274
+ export type Appender<ErrorContext = Error, Api = DefaultExtendedApi> = Appender_1<ErrorContext, Api>;
275
+ interface DefaultExtendedApi {
276
+ setMinLevel: (logLevel: number) => void;
277
+ }
278
+ type LogMessageBase<ErrorContext = Error> = {
279
+ loglevel: number;
280
+ message: string;
281
+ tag?: string | undefined;
282
+ parentId?: number | undefined;
283
+ context?: ErrorContext | undefined;
284
+ };
285
+ type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
286
+ inputId: number;
287
+ action: 0 | 1 | 2;
288
+ ref: WeakRef<never>;
289
+ };
290
+ type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
291
+ inputId?: number;
292
+ action: 3;
293
+ ref?: WeakRef<never>;
294
+ };
295
+ type LogMessage_1<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
296
+ type Appender_1<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: LogMessage_1<ErrorContext>) => void) & {
297
+ api?: Api;
298
+ };
299
+
300
+ export {};
301
+ }
302
+
303
+ declare module '@niceties/logger/types' {
304
+ export type LogLevel = number;
305
+ export namespace LogLevel {
306
+ let verbose: number;
307
+ let info: number;
308
+ let warn: number;
309
+ let error: number;
310
+ }
311
+ export type Action = number;
312
+ export namespace Action {
313
+ let start: 0;
314
+ let update: 1;
315
+ let finish: 2;
316
+ let log: 3;
317
+ }
318
+ export interface DefaultExtendedApi {
319
+ setMinLevel: (logLevel: number) => void;
320
+ }
321
+ export type LogMessageBase<ErrorContext = Error> = {
322
+ loglevel: number;
323
+ message: string;
324
+ tag?: string | undefined;
325
+ parentId?: number | undefined;
326
+ context?: ErrorContext | undefined;
327
+ };
328
+ export type LogMessageWithInput<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
329
+ inputId: number;
330
+ action: 0 | 1 | 2;
331
+ ref: WeakRef<never>;
332
+ };
333
+ export type LogMessageLog<ErrorContext = Error> = LogMessageBase<ErrorContext> & {
334
+ inputId?: number;
335
+ action: 3;
336
+ ref?: WeakRef<never>;
337
+ };
338
+ export type LogMessage<ErrorContext = Error> = LogMessageWithInput<ErrorContext> | LogMessageLog<ErrorContext>;
339
+ export type Appender<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: LogMessage<ErrorContext>) => void) & {
340
+ api?: Api;
341
+ };
342
+ export type Identity = {
343
+ id?: number | undefined;
344
+ };
345
+ export type Prefixes = {
346
+ [index: number]: string;
347
+ };
348
+ export type ColorFormatters = {
349
+ [index: number]: ((text: string) => string) | undefined;
350
+ };
351
+ export type Formatter<ErrorContext = Error> = (message: LogMessage<ErrorContext>, usePrefix?: string | boolean | undefined, indentation?: number | undefined) => string;
352
+ export type Logger<ErrorContext = Error, Api = DefaultExtendedApi> = ((message: string, loglevel?: number, context?: ErrorContext) => void) & {
353
+ start(message: string, loglevel?: number, context?: ErrorContext): void;
354
+ update(message: string, loglevel?: number, context?: ErrorContext): void;
355
+ finish(message: string, loglevel?: number, context?: ErrorContext): void;
356
+ appender(appender?: Appender<ErrorContext, Api>): (message: LogMessage<ErrorContext>) => void;
357
+ } & Identity & Api;
358
+
359
+ export {};
360
+ }
361
+
362
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "version": 3,
3
+ "file": "index.d.ts",
4
+ "names": [
5
+ "Identity",
6
+ "Prefixes",
7
+ "ColorFormatters",
8
+ "createLogger",
9
+ "appender",
10
+ "unicodePrefixes",
11
+ "asciiPrefixes",
12
+ "unicodeLogPrefixes",
13
+ "asciiLogPrefixes",
14
+ "colors",
15
+ "tagFactory",
16
+ "createConsoleAppender",
17
+ "Formatter",
18
+ "LogMessage",
19
+ "Appender",
20
+ "createFormatter",
21
+ "terminalSupportsUnicode",
22
+ "globalAppender",
23
+ "filterMessages",
24
+ "combineAppenders"
25
+ ],
26
+ "sources": [
27
+ "core.js",
28
+ "types.js",
29
+ "global-appender.js",
30
+ "default-formatting.js",
31
+ "simple.js",
32
+ "console-appender.js",
33
+ "format-utils.js",
34
+ "appender-utils.js"
35
+ ],
36
+ "sourcesContent": [
37
+ null,
38
+ null,
39
+ null,
40
+ null,
41
+ null,
42
+ null,
43
+ null,
44
+ null
45
+ ],
46
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBaG,YAAYA;;;;;;;;;iBErBZC,QAAQA;;;;;;;cCERC,eAAeA;;cAEfC,aAAaA;;cAEbC,kBAAkBA;;cAElBC,gBAAgBA;;cAEhBC,MAAMA;iBAENC,UAAUA;;;;;;;;;;;;;;iBHSVP,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBIpBZA,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCDZQ,qBAAqBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCArBI,eAAeA;iBAgBfC,uBAAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YJlBzBC,cAAcA;iBAEZb,QAAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBKFRc,cAAcA;iBAadC,gBAAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
47
+ "ignoreList": []
48
+ }
package/index.js ADDED
@@ -0,0 +1,40 @@
1
+ import { createLogger } from './core.js';
2
+ import { appender } from './global-appender.js';
3
+ import { LogLevel } from './types.js';
4
+
5
+ if (!appender()) {
6
+ const [
7
+ { asciiPrefixes, asciiLogPrefixes, colors, unicodePrefixes, unicodeLogPrefixes, tagFactory },
8
+ { createConsoleAppender },
9
+ { createFormatter, terminalSupportsUnicode },
10
+ { filterMessages },
11
+ ] = await Promise.all([
12
+ import('./default-formatting.js'),
13
+ import('./console-appender.js'),
14
+ import('./format-utils.js'),
15
+ import('./appender-utils.js'),
16
+ ]);
17
+ const unicode = terminalSupportsUnicode();
18
+ const formatter = createFormatter(
19
+ colors,
20
+ unicode ? unicodePrefixes : asciiPrefixes,
21
+ unicode ? unicodeLogPrefixes : asciiLogPrefixes,
22
+ tagFactory
23
+ );
24
+ let minLogLevel = LogLevel.info;
25
+ const filtered = filterMessages(
26
+
27
+ message => (message.loglevel) >= minLogLevel,
28
+ createConsoleAppender(formatter)
29
+ );
30
+ filtered.api = {
31
+
32
+ setMinLevel(logLevel) {
33
+ minLogLevel = logLevel;
34
+ },
35
+ };
36
+ appender(filtered);
37
+ }
38
+
39
+ export * from './types.js';
40
+ export { createLogger, appender };
package/package.json CHANGED
@@ -1,59 +1,51 @@
1
1
  {
2
- "version": "1.1.12",
2
+ "version": "2.0.0",
3
3
  "license": "MIT",
4
4
  "name": "@niceties/logger",
5
5
  "author": "Konstantin Shutkin",
6
6
  "type": "module",
7
+ "types": "./index.d.ts",
7
8
  "exports": {
8
9
  ".": {
9
- "require": "./dist/index.cjs",
10
- "default": "./dist/index.mjs"
10
+ "types": "./index.d.ts",
11
+ "default": "./index.js"
11
12
  },
12
13
  "./default-formatting": {
13
- "require": "./dist/default-formatting.cjs",
14
- "default": "./dist/default-formatting.mjs"
14
+ "types": "./index.d.ts",
15
+ "default": "./default-formatting.js"
15
16
  },
16
17
  "./core": {
17
- "require": "./dist/core.cjs",
18
- "default": "./dist/core.mjs"
18
+ "types": "./index.d.ts",
19
+ "default": "./core.js"
19
20
  },
20
21
  "./simple": {
21
- "require": "./dist/simple.cjs",
22
- "default": "./dist/simple.mjs"
22
+ "types": "./index.d.ts",
23
+ "default": "./simple.js"
23
24
  },
24
25
  "./console-appender": {
25
- "require": "./dist/console-appender.cjs",
26
- "default": "./dist/console-appender.mjs"
26
+ "types": "./index.d.ts",
27
+ "default": "./console-appender.js"
27
28
  },
28
29
  "./format-utils": {
29
- "require": "./dist/format-utils.cjs",
30
- "default": "./dist/format-utils.mjs"
30
+ "types": "./index.d.ts",
31
+ "default": "./format-utils.js"
31
32
  },
32
33
  "./global-appender": {
33
- "require": "./dist/global-appender.cjs",
34
- "default": "./dist/global-appender.mjs"
34
+ "types": "./index.d.ts",
35
+ "default": "./global-appender.js"
35
36
  },
36
37
  "./appender-utils": {
37
- "require": "./dist/appender-utils.cjs",
38
- "default": "./dist/appender-utils.mjs"
38
+ "types": "./index.d.ts",
39
+ "default": "./appender-utils.js"
40
+ },
41
+ "./types": {
42
+ "types": "./index.d.ts",
43
+ "default": "./types.js"
39
44
  },
40
45
  "./package.json": "./package.json"
41
46
  },
42
- "main": "./dist/index.cjs",
43
- "module": "./dist/index.mjs",
44
- "typings": "./dist/index.d.ts",
45
- "unpkg": "./dist/simple.umd.js",
46
- "files": [
47
- "dist",
48
- "default-formatting",
49
- "core",
50
- "console-appender",
51
- "global-appender",
52
- "appender-utils",
53
- "format-utils",
54
- "types",
55
- "simple"
56
- ],
47
+ "main": "./index.js",
48
+ "module": "./index.js",
57
49
  "engines": {
58
50
  "node": ">=15"
59
51
  },
@@ -74,10 +66,5 @@
74
66
  ],
75
67
  "dependencies": {
76
68
  "kleur": "^4.1.4"
77
- },
78
- "scripts": {
79
- "build": "pkgbld-internal --umd=core,simple,console-appender,global-appender,appender-utils --preprocess=index",
80
- "test": "jest --collectCoverage",
81
- "lint": "eslint ./src"
82
69
  }
83
70
  }
package/simple.js ADDED
@@ -0,0 +1,42 @@
1
+ import { globalAppender } from './global-appender.js';
2
+ import { Action, LogLevel } from './types.js';
3
+
4
+ export const createLogger = tag => {
5
+
6
+ let myAppender = message => {
7
+ globalAppender?.(message);
8
+ };
9
+
10
+ const loggerInstance = Object.assign(
11
+
12
+ (message, loglevel = LogLevel.info, context) => {
13
+ myAppender?.(
14
+ ({
15
+ action: Action.log,
16
+ message,
17
+ loglevel,
18
+ tag,
19
+ context,
20
+ })
21
+ );
22
+ },
23
+ {
24
+
25
+ appender(appender) {
26
+ if (appender !== undefined) {
27
+ myAppender = appender;
28
+ const api = appender.api;
29
+ if (api != null) {
30
+ Object.setPrototypeOf(api, Function.prototype);
31
+ Object.setPrototypeOf(loggerInstance, api);
32
+ } else {
33
+ Object.setPrototypeOf(loggerInstance, Function.prototype);
34
+ }
35
+ }
36
+ return myAppender;
37
+ },
38
+ }
39
+ );
40
+
41
+ return (loggerInstance);
42
+ };
package/types.js ADDED
@@ -0,0 +1,17 @@
1
+ export const LogLevel = ({
2
+
3
+ verbose: (0),
4
+
5
+ info: (1),
6
+
7
+ warn: (2),
8
+
9
+ error: (3),
10
+ });
11
+
12
+ export const Action = ({
13
+ start: 0,
14
+ update: 1,
15
+ finish: 2,
16
+ log: 3,
17
+ });
@@ -1,5 +0,0 @@
1
- {
2
- "type": "module",
3
- "types": "../dist/appender-utils.d.ts",
4
- "main": "../dist/appender-utils.mjs"
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "type": "module",
3
- "types": "../dist/console-appender.d.ts",
4
- "main": "../dist/console-appender.mjs"
5
- }
package/core/package.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "type": "module",
3
- "types": "../dist/core.d.ts",
4
- "main": "../dist/core.mjs"
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "type": "module",
3
- "types": "../dist/default-formatting.d.ts",
4
- "main": "../dist/default-formatting.mjs"
5
- }
@@ -1,22 +0,0 @@
1
- 'use strict';
2
-
3
- const filterMessages = (predicate, appender, api) => {
4
- return Object.assign(function (logMessage) {
5
- if (predicate(logMessage)) {
6
- appender(logMessage);
7
- }
8
- }, api);
9
- };
10
- const combineAppenders = (...appenders) => {
11
- return (message) => {
12
- for (const appender of appenders) {
13
- try {
14
- appender(message);
15
- }
16
- catch (e) { /* eat the error */ }
17
- }
18
- };
19
- };
20
-
21
- exports.combineAppenders = combineAppenders;
22
- exports.filterMessages = filterMessages;
@@ -1,3 +0,0 @@
1
- import { Appender, LogMessage } from './types';
2
- export declare const filterMessages: <ErrorContext = Error, Api extends object = object>(predicate: (logMessage: LogMessage<ErrorContext>) => boolean, appender: Appender<ErrorContext>, api?: Api | undefined) => Appender<ErrorContext> & Api;
3
- export declare const combineAppenders: <ErrorContext = Error>(...appenders: Appender<ErrorContext>[]) => Appender<ErrorContext>;
@@ -1,19 +0,0 @@
1
- const filterMessages = (predicate, appender, api) => {
2
- return Object.assign(function (logMessage) {
3
- if (predicate(logMessage)) {
4
- appender(logMessage);
5
- }
6
- }, api);
7
- };
8
- const combineAppenders = (...appenders) => {
9
- return (message) => {
10
- for (const appender of appenders) {
11
- try {
12
- appender(message);
13
- }
14
- catch (e) { /* eat the error */ }
15
- }
16
- };
17
- };
18
-
19
- export { combineAppenders, filterMessages };