@contember/logger 1.2.0-alpha.16

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 (61) hide show
  1. package/dist/src/formatting.d.ts +9 -0
  2. package/dist/src/formatting.d.ts.map +1 -0
  3. package/dist/src/formatting.js +68 -0
  4. package/dist/src/formatting.js.map +1 -0
  5. package/dist/src/handlers/FingerCrossedLoggerHandler.d.ts +20 -0
  6. package/dist/src/handlers/FingerCrossedLoggerHandler.d.ts.map +1 -0
  7. package/dist/src/handlers/FingerCrossedLoggerHandler.js +66 -0
  8. package/dist/src/handlers/FingerCrossedLoggerHandler.js.map +1 -0
  9. package/dist/src/handlers/JsonStreamLoggerHandler.d.ts +14 -0
  10. package/dist/src/handlers/JsonStreamLoggerHandler.d.ts.map +1 -0
  11. package/dist/src/handlers/JsonStreamLoggerHandler.js +28 -0
  12. package/dist/src/handlers/JsonStreamLoggerHandler.js.map +1 -0
  13. package/dist/src/handlers/LoggerHandlerList.d.ts +10 -0
  14. package/dist/src/handlers/LoggerHandlerList.d.ts.map +1 -0
  15. package/dist/src/handlers/LoggerHandlerList.js +26 -0
  16. package/dist/src/handlers/LoggerHandlerList.js.map +1 -0
  17. package/dist/src/handlers/NullLoggerHandler.d.ts +7 -0
  18. package/dist/src/handlers/NullLoggerHandler.d.ts.map +1 -0
  19. package/dist/src/handlers/NullLoggerHandler.js +14 -0
  20. package/dist/src/handlers/NullLoggerHandler.js.map +1 -0
  21. package/dist/src/handlers/PrettyPrintLoggerHandler.d.ts +28 -0
  22. package/dist/src/handlers/PrettyPrintLoggerHandler.d.ts.map +1 -0
  23. package/dist/src/handlers/PrettyPrintLoggerHandler.js +84 -0
  24. package/dist/src/handlers/PrettyPrintLoggerHandler.js.map +1 -0
  25. package/dist/src/impl.d.ts +27 -0
  26. package/dist/src/impl.d.ts.map +1 -0
  27. package/dist/src/impl.js +105 -0
  28. package/dist/src/impl.js.map +1 -0
  29. package/dist/src/index.d.ts +10 -0
  30. package/dist/src/index.d.ts.map +1 -0
  31. package/dist/src/index.js +28 -0
  32. package/dist/src/index.js.map +1 -0
  33. package/dist/src/levels.d.ts +23 -0
  34. package/dist/src/levels.d.ts.map +1 -0
  35. package/dist/src/levels.js +11 -0
  36. package/dist/src/levels.js.map +1 -0
  37. package/dist/src/proxy.d.ts +5 -0
  38. package/dist/src/proxy.d.ts.map +1 -0
  39. package/dist/src/proxy.js +51 -0
  40. package/dist/src/proxy.js.map +1 -0
  41. package/dist/src/tsconfig.tsbuildinfo +1 -0
  42. package/dist/src/types.d.ts +53 -0
  43. package/dist/src/types.d.ts.map +1 -0
  44. package/dist/src/types.js +3 -0
  45. package/dist/src/types.js.map +1 -0
  46. package/package.json +16 -0
  47. package/readme.md +3 -0
  48. package/src/formatting.ts +70 -0
  49. package/src/handlers/FingerCrossedLoggerHandler.ts +82 -0
  50. package/src/handlers/JsonStreamLoggerHandler.ts +36 -0
  51. package/src/handlers/LoggerHandlerList.ts +28 -0
  52. package/src/handlers/NullLoggerHandler.ts +13 -0
  53. package/src/handlers/PrettyPrintLoggerHandler.ts +93 -0
  54. package/src/impl.ts +141 -0
  55. package/src/index.ts +9 -0
  56. package/src/levels.ts +7 -0
  57. package/src/proxy.ts +60 -0
  58. package/src/tsconfig.json +7 -0
  59. package/src/types.ts +57 -0
  60. package/tsconfig.json +5 -0
  61. package/tsconfig.settings.json +3 -0
@@ -0,0 +1,9 @@
1
+ import { LogEntry, LoggerAttributes } from './types';
2
+ export declare type FormattedAttributes = {
3
+ formattedAttributes: Record<string, string>;
4
+ formattedLine: string;
5
+ };
6
+ export declare const formatLoggerAttributes: (parentAttributes: FormattedAttributes | undefined, ownAttributes: LoggerAttributes) => FormattedAttributes;
7
+ export declare const formatLogEntryAttributes: (attributes: FormattedAttributes, entry: LogEntry) => string;
8
+ export declare const stringify: (value: unknown) => string;
9
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGpD,oBAAY,mBAAmB,GAAG;IACjC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,aAAa,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,sBAAsB,qBAAsB,mBAAmB,GAAG,SAAS,iBAAiB,gBAAgB,KAAG,mBAsB3H,CAAA;AAED,eAAO,MAAM,wBAAwB,eAAgB,mBAAmB,SAAS,QAAQ,KAAG,MA6B3F,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,OAAO,WAMvC,CAAA"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stringify = exports.formatLogEntryAttributes = exports.formatLoggerAttributes = void 0;
4
+ const node_util_1 = require("node:util");
5
+ const formatLoggerAttributes = (parentAttributes, ownAttributes) => {
6
+ const formattedAttributes = {};
7
+ let formattedLine = '';
8
+ for (const key in ownAttributes) {
9
+ const value = ownAttributes[key];
10
+ if (value === undefined) {
11
+ continue;
12
+ }
13
+ const formattedKey = (0, exports.stringify)(key);
14
+ const formattedValue = (0, exports.stringify)(value);
15
+ formattedAttributes[formattedKey] = formattedValue;
16
+ formattedLine += `, ${formattedKey}: ${formattedValue}`;
17
+ }
18
+ const parentFormattedAttributes = parentAttributes === null || parentAttributes === void 0 ? void 0 : parentAttributes.formattedAttributes;
19
+ for (const key in parentFormattedAttributes) {
20
+ if (!(key in formattedAttributes)) {
21
+ const formattedValue = parentFormattedAttributes[key];
22
+ formattedAttributes[key] = formattedValue;
23
+ formattedLine += `, ${key}: ${formattedValue}`;
24
+ }
25
+ }
26
+ return { formattedAttributes, formattedLine };
27
+ };
28
+ exports.formatLoggerAttributes = formatLoggerAttributes;
29
+ const formatLogEntryAttributes = (attributes, entry) => {
30
+ let entryAttributes = '';
31
+ let reformatRest = false;
32
+ const omitInRest = {};
33
+ for (const key in entry.ownAttributes) {
34
+ const value = entry.ownAttributes[key];
35
+ if (value === undefined) {
36
+ continue;
37
+ }
38
+ const formattedKey = (0, exports.stringify)(key);
39
+ const formattedValue = (0, exports.stringify)(value);
40
+ entryAttributes += `, ${formattedKey}: ${formattedValue}`;
41
+ if (key in attributes.formattedAttributes) {
42
+ reformatRest = true;
43
+ omitInRest[formattedKey] = true;
44
+ }
45
+ }
46
+ if (reformatRest) {
47
+ for (const key in attributes.formattedAttributes) {
48
+ if (!(key in omitInRest)) {
49
+ entryAttributes += `, ${key}: ${attributes.formattedAttributes[key]}`;
50
+ }
51
+ }
52
+ }
53
+ else {
54
+ entryAttributes += attributes.formattedLine;
55
+ }
56
+ return entryAttributes;
57
+ };
58
+ exports.formatLogEntryAttributes = formatLogEntryAttributes;
59
+ const stringify = (value) => {
60
+ try {
61
+ return JSON.stringify(value);
62
+ }
63
+ catch (_a) {
64
+ return JSON.stringify((0, node_util_1.inspect)(value));
65
+ }
66
+ };
67
+ exports.stringify = stringify;
68
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/formatting.ts"],"names":[],"mappings":";;;AACA,yCAAmC;AAO5B,MAAM,sBAAsB,GAAG,CAAC,gBAAiD,EAAE,aAA+B,EAAuB,EAAE;IACjJ,MAAM,mBAAmB,GAA2B,EAAE,CAAA;IACtD,IAAI,aAAa,GAAG,EAAE,CAAA;IACtB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAChC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,KAAK,KAAK,SAAS,EAAE;YACxB,SAAQ;SACR;QACD,MAAM,YAAY,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAA;QACnC,MAAM,cAAc,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAA;QACvC,mBAAmB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAA;QAClD,aAAa,IAAI,KAAK,YAAY,KAAK,cAAc,EAAE,CAAA;KACvD;IACD,MAAM,yBAAyB,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,mBAAmB,CAAA;IACvE,KAAK,MAAM,GAAG,IAAI,yBAAyB,EAAE;QAC5C,IAAI,CAAC,CAAC,GAAG,IAAI,mBAAmB,CAAC,EAAE;YAClC,MAAM,cAAc,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAA;YACrD,mBAAmB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAA;YACzC,aAAa,IAAI,KAAK,GAAG,KAAK,cAAc,EAAE,CAAA;SAC9C;KACD;IACD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAA;AAC9C,CAAC,CAAA;AAtBY,QAAA,sBAAsB,0BAsBlC;AAEM,MAAM,wBAAwB,GAAG,CAAC,UAA+B,EAAE,KAAe,EAAU,EAAE;IACpG,IAAI,eAAe,GAAG,EAAE,CAAA;IACxB,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,MAAM,UAAU,GAA4B,EAAE,CAAA;IAE9C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE;YACxB,SAAQ;SACR;QACD,MAAM,YAAY,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAA;QACnC,MAAM,cAAc,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAA;QACvC,eAAe,IAAI,KAAK,YAAY,KAAK,cAAc,EAAE,CAAA;QACzD,IAAI,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE;YAC1C,YAAY,GAAG,IAAI,CAAA;YACnB,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;SAC/B;KACD;IACD,IAAI,YAAY,EAAE;QACjB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE;YACjD,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE;gBACzB,eAAe,IAAI,KAAK,GAAG,KAAK,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAA;aACrE;SACD;KACD;SAAM;QACN,eAAe,IAAI,UAAU,CAAC,aAAa,CAAA;KAC3C;IAED,OAAO,eAAe,CAAA;AACvB,CAAC,CAAA;AA7BY,QAAA,wBAAwB,4BA6BpC;AAEM,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE;IAC3C,IAAI;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;KAC5B;IAAC,WAAM;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAA,mBAAO,EAAC,KAAK,CAAC,CAAC,CAAA;KACrC;AACF,CAAC,CAAA;AANY,QAAA,SAAS,aAMrB"}
@@ -0,0 +1,20 @@
1
+ import { LogEntry, LoggerHandler, LoggerHandlerFactory, LogLevel } from '../types';
2
+ export interface FingerCrossedLoggerHandlerOptions {
3
+ logAlwaysLevel: LogLevel;
4
+ logWhenActivatedLevel: LogLevel;
5
+ activationLevel: LogLevel;
6
+ maxBufferSize: number;
7
+ }
8
+ export declare class FingerCrossedLoggerHandler implements LoggerHandler {
9
+ private readonly inner;
10
+ private buffer;
11
+ private active;
12
+ private options;
13
+ constructor(inner: LoggerHandler, options?: Partial<FingerCrossedLoggerHandlerOptions>);
14
+ static factory(options?: Partial<FingerCrossedLoggerHandlerOptions>): LoggerHandlerFactory;
15
+ getMinLevel(): number;
16
+ handle(logEntry: LogEntry): void;
17
+ close(): void;
18
+ private doFlush;
19
+ }
20
+ //# sourceMappingURL=FingerCrossedLoggerHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FingerCrossedLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/FingerCrossedLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGlF,MAAM,WAAW,iCAAiC;IACjD,cAAc,EAAE,QAAQ,CAAA;IACxB,qBAAqB,EAAE,QAAQ,CAAA;IAC/B,eAAe,EAAE,QAAQ,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;CACrB;AAED,qBAAa,0BAA2B,YAAW,aAAa;IAO9D,OAAO,CAAC,QAAQ,CAAC,KAAK;IANvB,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAmC;gBAGhC,KAAK,EAAE,aAAa,EACrC,OAAO,GAAE,OAAO,CAAC,iCAAiC,CAAM;WAc3C,OAAO,CAAC,OAAO,GAAE,OAAO,CAAC,iCAAiC,CAAM,GAAG,oBAAoB;IAIrG,WAAW,IAAI,MAAM;IAKrB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA0BhC,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;CASf"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FingerCrossedLoggerHandler = void 0;
4
+ const levels_1 = require("../levels");
5
+ class FingerCrossedLoggerHandler {
6
+ constructor(inner, options = {}) {
7
+ this.inner = inner;
8
+ this.buffer = [];
9
+ this.active = false;
10
+ this.options = {
11
+ logAlwaysLevel: levels_1.LogLevels.info,
12
+ logWhenActivatedLevel: levels_1.LogLevels.debug,
13
+ activationLevel: levels_1.LogLevels.warn,
14
+ maxBufferSize: 100,
15
+ ...options,
16
+ };
17
+ if (this.options.logAlwaysLevel.value < this.options.logWhenActivatedLevel.value) {
18
+ this.options.logWhenActivatedLevel = this.options.logAlwaysLevel;
19
+ }
20
+ }
21
+ static factory(options = {}) {
22
+ return (current, globalOptions) => new FingerCrossedLoggerHandler(current, { ...globalOptions.fingerCrossedOptions, ...options });
23
+ }
24
+ getMinLevel() {
25
+ return this.options.logWhenActivatedLevel.value;
26
+ }
27
+ handle(logEntry) {
28
+ const logEntryLevel = logEntry.level.value;
29
+ if (logEntryLevel < this.options.logWhenActivatedLevel.value) {
30
+ return;
31
+ }
32
+ if (this.active) {
33
+ this.inner.handle(logEntry);
34
+ }
35
+ else if (logEntryLevel >= this.options.activationLevel.value) {
36
+ this.active = true;
37
+ this.doFlush(this.options.logWhenActivatedLevel);
38
+ this.inner.handle(logEntry);
39
+ }
40
+ else {
41
+ this.buffer.push(logEntry);
42
+ if (this.buffer.length >= this.options.maxBufferSize) {
43
+ const first = this.buffer.shift();
44
+ if (first !== undefined && first.level.value >= this.options.logAlwaysLevel.value) {
45
+ this.inner.handle(first);
46
+ }
47
+ }
48
+ }
49
+ }
50
+ close() {
51
+ var _a, _b;
52
+ this.doFlush(this.options.logAlwaysLevel);
53
+ (_b = (_a = this.inner).close) === null || _b === void 0 ? void 0 : _b.call(_a);
54
+ }
55
+ doFlush(minLevel) {
56
+ const entries = this.buffer;
57
+ this.buffer = [];
58
+ for (const entry of entries) {
59
+ if (entry.level.value >= minLevel.value) {
60
+ this.inner.handle(entry);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ exports.FingerCrossedLoggerHandler = FingerCrossedLoggerHandler;
66
+ //# sourceMappingURL=FingerCrossedLoggerHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FingerCrossedLoggerHandler.js","sourceRoot":"","sources":["../../../src/handlers/FingerCrossedLoggerHandler.ts"],"names":[],"mappings":";;;AACA,sCAAqC;AASrC,MAAa,0BAA0B;IAMtC,YACkB,KAAoB,EACrC,UAAsD,EAAE;QADvC,UAAK,GAAL,KAAK,CAAe;QAN9B,WAAM,GAAe,EAAE,CAAA;QAEvB,WAAM,GAAY,KAAK,CAAA;QAO9B,IAAI,CAAC,OAAO,GAAG;YACd,cAAc,EAAE,kBAAS,CAAC,IAAI;YAC9B,qBAAqB,EAAE,kBAAS,CAAC,KAAK;YACtC,eAAe,EAAE,kBAAS,CAAC,IAAI;YAC/B,aAAa,EAAE,GAAG;YAClB,GAAG,OAAO;SACV,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE;YACjF,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAA;SAChE;IACF,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,UAAsD,EAAE;QAC7E,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,0BAA0B,CAAC,OAAO,EAAE,EAAE,GAAG,aAAa,CAAC,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAClI,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAA;IAChD,CAAC;IAGD,MAAM,CAAC,QAAkB;QACxB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAA;QAC1C,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE;YAC7D,OAAM;SACN;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAE3B;aAAM,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE;YAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;YAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAE3B;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE;oBAClF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;iBACxB;aACD;SACD;IACF,CAAC;IAED,KAAK;;QACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACzC,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,KAAK,kDAAI,CAAA;IACrB,CAAC;IAEO,OAAO,CAAC,QAAkB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE;gBACxC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aACxB;SACD;IACF,CAAC;CACD;AAvED,gEAuEC"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ import { LogEntry, LoggerHandler, LogLevel } from '../types';
3
+ export interface JsonStreamLoggerHandlerOptions {
4
+ logLevel: LogLevel;
5
+ }
6
+ export declare class JsonStreamLoggerHandler implements LoggerHandler {
7
+ private readonly stream;
8
+ private options;
9
+ constructor(stream: NodeJS.WritableStream, options?: Partial<JsonStreamLoggerHandlerOptions>);
10
+ handle(entry: LogEntry): void;
11
+ getMinLevel(): number;
12
+ close(): void;
13
+ }
14
+ //# sourceMappingURL=JsonStreamLoggerHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonStreamLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/JsonStreamLoggerHandler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAG5D,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,EAAE,QAAQ,CAAA;CAClB;AAED,qBAAa,uBAAwB,YAAW,aAAa;IAI3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHxB,OAAO,CAAC,OAAO,CAAgC;gBAG7B,MAAM,EAAE,MAAM,CAAC,cAAc,EAC9C,OAAO,GAAE,OAAO,CAAC,8BAA8B,CAAM;IAQtD,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAS7B,WAAW,IAAI,MAAM;IAIrB,KAAK,IAAI,IAAI;CAEb"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonStreamLoggerHandler = void 0;
4
+ const levels_1 = require("../levels");
5
+ class JsonStreamLoggerHandler {
6
+ constructor(stream, options = {}) {
7
+ this.stream = stream;
8
+ this.options = {
9
+ logLevel: levels_1.LogLevels.debug,
10
+ ...options,
11
+ };
12
+ }
13
+ handle(entry) {
14
+ if (entry.level.value < this.options.logLevel.value) {
15
+ return;
16
+ }
17
+ const formatted = entry.format();
18
+ const line = `{"time": "${entry.isoTime}", "level": "${entry.level.name}", "message": ${formatted.message}${formatted.error}${formatted.attributes}}\n`;
19
+ this.stream.write(line);
20
+ }
21
+ getMinLevel() {
22
+ return this.options.logLevel.value;
23
+ }
24
+ close() {
25
+ }
26
+ }
27
+ exports.JsonStreamLoggerHandler = JsonStreamLoggerHandler;
28
+ //# sourceMappingURL=JsonStreamLoggerHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonStreamLoggerHandler.js","sourceRoot":"","sources":["../../../src/handlers/JsonStreamLoggerHandler.ts"],"names":[],"mappings":";;;AACA,sCAAqC;AAMrC,MAAa,uBAAuB;IAGnC,YACkB,MAA6B,EAC9C,UAAmD,EAAE;QADpC,WAAM,GAAN,MAAM,CAAuB;QAG9C,IAAI,CAAC,OAAO,GAAG;YACd,QAAQ,EAAE,kBAAS,CAAC,KAAK;YACzB,GAAG,OAAO;SACV,CAAA;IACF,CAAC;IAED,MAAM,CAAC,KAAe;QACrB,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;YACpD,OAAM;SACN;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;QAChC,MAAM,IAAI,GAAG,aAAa,KAAK,CAAC,OAAO,gBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,iBAAiB,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,KAAK,CAAA;QACvJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAA;IACnC,CAAC;IAED,KAAK;IACL,CAAC;CACD;AA5BD,0DA4BC"}
@@ -0,0 +1,10 @@
1
+ import { LogEntry, LoggerHandler } from '../types';
2
+ export declare class LoggerHandlerList implements LoggerHandler {
3
+ private readonly transports;
4
+ constructor(transports?: LoggerHandler[]);
5
+ getMinLevel(): number;
6
+ addHandler(transport: LoggerHandler): void;
7
+ handle(logEntry: LogEntry): void;
8
+ close(): void;
9
+ }
10
+ //# sourceMappingURL=LoggerHandlerList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggerHandlerList.d.ts","sourceRoot":"","sources":["../../../src/handlers/LoggerHandlerList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAElD,qBAAa,iBAAkB,YAAW,aAAa;IAErD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,GAAE,aAAa,EAAO;IAIlD,WAAW,IAAI,MAAM;IAId,UAAU,CAAC,SAAS,EAAE,aAAa;IAI1C,MAAM,CAAC,QAAQ,EAAE,QAAQ;IAMzB,KAAK,IAAI,IAAI;CAKb"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerHandlerList = void 0;
4
+ class LoggerHandlerList {
5
+ constructor(transports = []) {
6
+ this.transports = transports;
7
+ }
8
+ getMinLevel() {
9
+ return Math.min(Number.MAX_SAFE_INTEGER, ...this.transports.map(it => it.getMinLevel()));
10
+ }
11
+ addHandler(transport) {
12
+ this.transports.push(transport);
13
+ }
14
+ handle(logEntry) {
15
+ for (const transport of this.transports) {
16
+ transport.handle(logEntry);
17
+ }
18
+ }
19
+ close() {
20
+ for (const transport of this.transports) {
21
+ transport.close();
22
+ }
23
+ }
24
+ }
25
+ exports.LoggerHandlerList = LoggerHandlerList;
26
+ //# sourceMappingURL=LoggerHandlerList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggerHandlerList.js","sourceRoot":"","sources":["../../../src/handlers/LoggerHandlerList.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC7B,YACkB,aAA8B,EAAE;QAAhC,eAAU,GAAV,UAAU,CAAsB;IAElD,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACzF,CAAC;IAEM,UAAU,CAAC,SAAwB;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,QAAkB;QACxB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACxC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAC1B;IACF,CAAC;IAED,KAAK;QACJ,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACxC,SAAS,CAAC,KAAK,EAAE,CAAA;SACjB;IACF,CAAC;CACD;AAzBD,8CAyBC"}
@@ -0,0 +1,7 @@
1
+ import { LoggerHandler } from '../types';
2
+ export declare class NullLoggerHandler implements LoggerHandler {
3
+ close(): void;
4
+ getMinLevel(): number;
5
+ handle(): void;
6
+ }
7
+ //# sourceMappingURL=NullLoggerHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NullLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/NullLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,qBAAa,iBAAkB,YAAW,aAAa;IACtD,KAAK,IAAI,IAAI;IAGb,WAAW,IAAI,MAAM;IAIrB,MAAM,IAAI,IAAI;CAEd"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullLoggerHandler = void 0;
4
+ class NullLoggerHandler {
5
+ close() {
6
+ }
7
+ getMinLevel() {
8
+ return Number.POSITIVE_INFINITY;
9
+ }
10
+ handle() {
11
+ }
12
+ }
13
+ exports.NullLoggerHandler = NullLoggerHandler;
14
+ //# sourceMappingURL=NullLoggerHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NullLoggerHandler.js","sourceRoot":"","sources":["../../../src/handlers/NullLoggerHandler.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC7B,KAAK;IACL,CAAC;IAED,WAAW;QACV,OAAO,MAAM,CAAC,iBAAiB,CAAA;IAChC,CAAC;IAED,MAAM;IACN,CAAC;CACD;AAVD,8CAUC"}
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" />
2
+ import chalk from 'chalk';
3
+ import { LogEntry, LoggerAttributes, LoggerHandler, LogLevel } from '../types';
4
+ export interface PrettyPrintLoggerHandlerOptions {
5
+ logLevel: LogLevel;
6
+ formatters: {
7
+ [key: string]: (args: {
8
+ value: any;
9
+ formattedValue: string;
10
+ key: string;
11
+ chalk: typeof chalk;
12
+ attributes: LoggerAttributes;
13
+ }) => undefined | string | {
14
+ line: string;
15
+ };
16
+ };
17
+ }
18
+ export declare class PrettyPrintLoggerHandler implements LoggerHandler {
19
+ private readonly stream;
20
+ private readonly options;
21
+ constructor(stream: NodeJS.WritableStream, options?: Partial<PrettyPrintLoggerHandlerOptions>);
22
+ getMinLevel(): number;
23
+ handle(entry: LogEntry): void;
24
+ private formatTime;
25
+ private formatLevel;
26
+ close(): void;
27
+ }
28
+ //# sourceMappingURL=PrettyPrintLoggerHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrettyPrintLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/PrettyPrintLoggerHandler.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAG9E,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE;YAAE,KAAK,EAAE,GAAG,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,KAAK,CAAC;YAAC,UAAU,EAAE,gBAAgB,CAAA;SAAE,KAAK,SAAS,GAAG,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KACtK,CAAA;CACD;AAED,qBAAa,wBAAyB,YAAW,aAAa;IAI5D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAGvC,MAAM,EAAE,MAAM,CAAC,cAAc,EAC9C,OAAO,GAAE,OAAO,CAAC,+BAA+B,CAAM;IASvD,WAAW,IAAI,MAAM;IAIrB,MAAM,CAAC,KAAK,EAAE,QAAQ;IAqCtB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IAenB,KAAK,IAAI,IAAI;CAEb"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PrettyPrintLoggerHandler = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const node_util_1 = require("node:util");
9
+ const levels_1 = require("../levels");
10
+ class PrettyPrintLoggerHandler {
11
+ constructor(stream, options = {}) {
12
+ this.stream = stream;
13
+ this.options = {
14
+ logLevel: levels_1.LogLevels.debug,
15
+ formatters: {},
16
+ ...options,
17
+ };
18
+ }
19
+ getMinLevel() {
20
+ return this.options.logLevel.value;
21
+ }
22
+ handle(entry) {
23
+ if (entry.level.value < this.options.logLevel.value) {
24
+ return;
25
+ }
26
+ const startLength = entry.isoTime.length + 7;
27
+ this.stream.write(`${this.formatTime(entry.isoTime)} ${this.formatLevel(entry.level)} `);
28
+ const indent = ' '.repeat(startLength);
29
+ this.stream.write(`${entry.message.replaceAll(/\n/g, '\n' + indent)}\n`);
30
+ const allAttributes = { ...entry.loggerAttributes, ...entry.ownAttributes };
31
+ for (const key in allAttributes) {
32
+ const value = allAttributes[key];
33
+ if (typeof key !== 'string' || value === undefined) {
34
+ continue;
35
+ }
36
+ const formattedValue = (0, node_util_1.inspect)(value, {
37
+ depth: 5,
38
+ }).replaceAll(/\n/g, '\n' + indent);
39
+ const formattedValue2 = this.options.formatters[key]
40
+ ? (this.options.formatters[key]({ value, key, formattedValue, chalk: chalk_1.default, attributes: allAttributes }))
41
+ : formattedValue;
42
+ if (formattedValue2 === undefined) {
43
+ continue;
44
+ }
45
+ if (typeof formattedValue2 === 'string') {
46
+ this.stream.write(indent + chalk_1.default.dim(`${key}: ${formattedValue2}\n`));
47
+ }
48
+ else {
49
+ this.stream.write(indent + formattedValue2.line + '\n');
50
+ }
51
+ }
52
+ if (entry.error) {
53
+ this.stream.write((0, node_util_1.inspect)(entry.error).replaceAll(/^/gm, indent) + '\n');
54
+ }
55
+ }
56
+ formatTime(date) {
57
+ const result = date.match(/^([0-9-]+)T([0-9:]+)\.(\d+)Z$/);
58
+ if (!result) {
59
+ return date;
60
+ }
61
+ return chalk_1.default.dim(result[1] + 'T') + result[2] + chalk_1.default.dim('.' + result[3] + 'Z');
62
+ }
63
+ formatLevel(level) {
64
+ const levelText = `${level.name}${' '.repeat(5 - level.name.length)}`;
65
+ let color = chalk_1.default;
66
+ if (level.value <= 10) {
67
+ color = color.dim;
68
+ }
69
+ else if (level.value <= 20) {
70
+ // nothhing
71
+ }
72
+ else if (level.value <= 30) {
73
+ color = color.yellowBright;
74
+ }
75
+ else {
76
+ color = color.redBright;
77
+ }
78
+ return color(levelText);
79
+ }
80
+ close() {
81
+ }
82
+ }
83
+ exports.PrettyPrintLoggerHandler = PrettyPrintLoggerHandler;
84
+ //# sourceMappingURL=PrettyPrintLoggerHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrettyPrintLoggerHandler.js","sourceRoot":"","sources":["../../../src/handlers/PrettyPrintLoggerHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Logger, LoggerAttributes, LoggerChildOptions, LoggerHandler, LoggerOptions } from './types';
2
+ export declare const createLogger: (handler: LoggerHandler, attributes?: LoggerAttributes, options?: LoggerOptions) => Logger;
3
+ export declare class LoggerImpl implements Logger {
4
+ private handler;
5
+ private readonly ownAttributes;
6
+ private readonly depth;
7
+ private readonly parent;
8
+ private readonly options;
9
+ readonly attributes: LoggerAttributes;
10
+ private formattedAttributes;
11
+ private minLevelValue;
12
+ private handlerList;
13
+ private constructor();
14
+ static create(handler: LoggerHandler, attributes?: LoggerAttributes, options?: LoggerOptions): LoggerImpl;
15
+ crit(messageOrError: unknown, attributes?: LoggerAttributes): void;
16
+ error(messageOrError: unknown, attributes?: LoggerAttributes): void;
17
+ warn(messageOrError: unknown, attributes?: LoggerAttributes): void;
18
+ info(messageOrError: unknown, attributes?: LoggerAttributes): void;
19
+ debug(messageOrError: unknown, attributes?: LoggerAttributes): void;
20
+ child(attributes?: LoggerAttributes, options?: Partial<LoggerChildOptions>): Logger;
21
+ scope<T>(cb: (logger: Logger) => Promise<T> | T, attributes?: LoggerAttributes, options?: Partial<LoggerChildOptions>): Promise<T>;
22
+ private log;
23
+ addHandler(handler: LoggerHandler): void;
24
+ close(): void;
25
+ private getFormattedAttributes;
26
+ }
27
+ //# sourceMappingURL=impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impl.d.ts","sourceRoot":"","sources":["../../src/impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,MAAM,SAAS,CAAA;AAMhB,eAAO,MAAM,YAAY,YACf,aAAa,eACV,gBAAgB,YACnB,aAAa,KACpB,MAEF,CAAA;AAGD,qBAAa,UAAW,YAAW,MAAM;IAQvC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVzB,SAAgB,UAAU,EAAE,gBAAgB,CAAA;IAC5C,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO;WAWO,MAAM,CACnB,OAAO,EAAE,aAAa,EACtB,UAAU,GAAE,gBAAqB,EACjC,OAAO,GAAE,aAAkB;IAKrB,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB;IAI3D,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB;IAI5D,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB;IAI3D,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB;IAI3D,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB;IAI5D,KAAK,CAAC,UAAU,GAAE,gBAAqB,EAAE,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,MAAM;IAKrF,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,GAAE,gBAAqB,EAAE,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IASvJ,OAAO,CAAC,GAAG;IAgCX,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IASxC,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,sBAAsB;CAQ9B"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerImpl = exports.createLogger = void 0;
4
+ const levels_1 = require("./levels");
5
+ const formatting_1 = require("./formatting");
6
+ const LoggerHandlerList_1 = require("./handlers/LoggerHandlerList");
7
+ const proxy_1 = require("./proxy");
8
+ const createLogger = (handler, attributes = {}, options = {}) => {
9
+ return LoggerImpl.create(handler, attributes, options);
10
+ };
11
+ exports.createLogger = createLogger;
12
+ class LoggerImpl {
13
+ constructor(handler, ownAttributes, depth, parent, options) {
14
+ this.handler = handler;
15
+ this.ownAttributes = ownAttributes;
16
+ this.depth = depth;
17
+ this.parent = parent;
18
+ this.options = options;
19
+ this.attributes = { ...parent === null || parent === void 0 ? void 0 : parent.attributes, ...ownAttributes };
20
+ this.minLevelValue = handler.getMinLevel();
21
+ }
22
+ static create(handler, attributes = {}, options = {}) {
23
+ return new LoggerImpl(handler, attributes, 0, undefined, options);
24
+ }
25
+ crit(messageOrError, attributes) {
26
+ this.minLevelValue <= levels_1.LogLevels.crit.value && this.log(levels_1.LogLevels.crit, messageOrError, attributes);
27
+ }
28
+ error(messageOrError, attributes) {
29
+ this.minLevelValue <= levels_1.LogLevels.error.value && this.log(levels_1.LogLevels.error, messageOrError, attributes);
30
+ }
31
+ warn(messageOrError, attributes) {
32
+ this.minLevelValue <= levels_1.LogLevels.warn.value && this.log(levels_1.LogLevels.warn, messageOrError, attributes);
33
+ }
34
+ info(messageOrError, attributes) {
35
+ this.minLevelValue <= levels_1.LogLevels.info.value && this.log(levels_1.LogLevels.info, messageOrError, attributes);
36
+ }
37
+ debug(messageOrError, attributes) {
38
+ this.minLevelValue <= levels_1.LogLevels.debug.value && this.log(levels_1.LogLevels.debug, messageOrError, attributes);
39
+ }
40
+ child(attributes = {}, options = {}) {
41
+ const newHandler = options.handler ? options.handler(this.handler, this.options) : this.handler;
42
+ return new LoggerImpl(newHandler, attributes, this.depth + 1, this, { ...this.options, ...options });
43
+ }
44
+ async scope(cb, attributes = {}, options = {}) {
45
+ const logger = this.child(attributes, options);
46
+ try {
47
+ return await (0, proxy_1.withLogger)(logger, () => cb(logger));
48
+ }
49
+ finally {
50
+ logger.close();
51
+ }
52
+ }
53
+ log(level, errorOrMessage, { error: errorAttr, message: messageAttr, ...attributes } = {}) {
54
+ const error = typeof errorOrMessage !== 'string' ? errorOrMessage : errorAttr;
55
+ const message = typeof errorOrMessage === 'string'
56
+ ? errorOrMessage
57
+ : (typeof messageAttr === 'string')
58
+ ? messageAttr
59
+ : typeof error === 'object' && error !== null && typeof error.message === 'string'
60
+ ? error.message
61
+ : 'unknown error';
62
+ const now = new Date();
63
+ let formatted;
64
+ const entry = {
65
+ level,
66
+ error,
67
+ message,
68
+ ownAttributes: attributes,
69
+ time: now,
70
+ isoTime: now.toISOString(),
71
+ depth: this.depth,
72
+ loggerAttributes: this.attributes,
73
+ format: () => {
74
+ return formatted !== null && formatted !== void 0 ? formatted : (formatted = {
75
+ attributes: (0, formatting_1.formatLogEntryAttributes)(this.getFormattedAttributes(), entry),
76
+ message: (0, formatting_1.stringify)(entry.message),
77
+ error: entry.error ? `, "error": ${(0, formatting_1.stringify)(entry.error)}` : '',
78
+ });
79
+ },
80
+ };
81
+ this.handler.handle(entry);
82
+ }
83
+ addHandler(handler) {
84
+ if (!this.handlerList) {
85
+ this.handlerList = new LoggerHandlerList_1.LoggerHandlerList([this.handler]);
86
+ this.handler = this.handlerList;
87
+ }
88
+ this.handlerList.addHandler(handler);
89
+ this.minLevelValue = Math.min(this.minLevelValue, handler.getMinLevel());
90
+ }
91
+ close() {
92
+ this.handler.close();
93
+ }
94
+ getFormattedAttributes() {
95
+ var _a;
96
+ if (this.formattedAttributes) {
97
+ return this.formattedAttributes;
98
+ }
99
+ const parentAttributes = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getFormattedAttributes();
100
+ this.formattedAttributes = (0, formatting_1.formatLoggerAttributes)(parentAttributes, this.ownAttributes);
101
+ return this.formattedAttributes;
102
+ }
103
+ }
104
+ exports.LoggerImpl = LoggerImpl;
105
+ //# sourceMappingURL=impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../src/impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { createLogger } from './impl';
2
+ export * from './types';
3
+ export * from './levels';
4
+ export * from './proxy';
5
+ export * from './handlers/FingerCrossedLoggerHandler';
6
+ export * from './handlers/JsonStreamLoggerHandler';
7
+ export * from './handlers/PrettyPrintLoggerHandler';
8
+ export * from './handlers/LoggerHandlerList';
9
+ export * from './handlers/NullLoggerHandler';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,uCAAuC,CAAA;AACrD,cAAc,oCAAoC,CAAA;AAClD,cAAc,qCAAqC,CAAA;AACnD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA"}
@@ -0,0 +1,28 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createLogger = void 0;
18
+ var impl_1 = require("./impl");
19
+ Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return impl_1.createLogger; } });
20
+ __exportStar(require("./types"), exports);
21
+ __exportStar(require("./levels"), exports);
22
+ __exportStar(require("./proxy"), exports);
23
+ __exportStar(require("./handlers/FingerCrossedLoggerHandler"), exports);
24
+ __exportStar(require("./handlers/JsonStreamLoggerHandler"), exports);
25
+ __exportStar(require("./handlers/PrettyPrintLoggerHandler"), exports);
26
+ __exportStar(require("./handlers/LoggerHandlerList"), exports);
27
+ __exportStar(require("./handlers/NullLoggerHandler"), exports);
28
+ //# sourceMappingURL=index.js.map