@coast/service-common-nest 1.0.74 → 1.0.76

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.
@@ -0,0 +1,2 @@
1
+ import type { DeepLogObject } from '@coast/service-common/logger/DeepLogObject';
2
+ export type ExtraLogFields = Record<string, boolean | Date | DeepLogObject | number | string | undefined>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ExtraLogFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtraLogFields.js","sourceRoot":"","sources":["../../../lib/logger/ExtraLogFields.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
1
  import { LogMethodOptions } from './LogMethodOptions';
2
- export declare function LogMethod(options?: LogMethodOptions): MethodDecorator;
2
+ export declare function LogMethod<T = unknown>(options?: LogMethodOptions<T>): MethodDecorator;
@@ -10,7 +10,7 @@ const common_1 = require("@nestjs/common");
10
10
  const lodash_1 = __importDefault(require("lodash"));
11
11
  const Constants_1 = require("../Constants");
12
12
  function LogMethod(options) {
13
- const extraLogFields = options?.extraLogFields;
13
+ const extraLogFieldsOption = options?.extraLogFields;
14
14
  const injectLogger = (0, common_1.Inject)(Constants_1.Constants.COAST_LOGGER);
15
15
  return (target, method, descriptor) => {
16
16
  if (descriptor === undefined) {
@@ -21,8 +21,10 @@ function LogMethod(options) {
21
21
  if (!lodash_1.default.isNil(descriptor)) {
22
22
  descriptor.value = function () {
23
23
  const coastLogger = this.logger;
24
+ const resolvedExtras = resolveExtras(extraLogFieldsOption, this, coastLogger);
24
25
  const className = target.constructor?.name;
25
26
  let callSucceeded = true;
27
+ let capturedError;
26
28
  const sensitiveParameters = Reflect.getOwnMetadata(SensitiveSymbol_1.SENSITIVE, target, method);
27
29
  const indexesToSkip = new Set([]);
28
30
  if (sensitiveParameters) {
@@ -40,7 +42,7 @@ function LogMethod(options) {
40
42
  });
41
43
  }
42
44
  }
43
- logMethodStart(className, method.toString(), coastLogger, loggableArguments, extraLogFields);
45
+ logMethodStart(className, method.toString(), coastLogger, loggableArguments, resolvedExtras);
44
46
  const startTime = process.hrtime.bigint();
45
47
  try {
46
48
  const result = originalMethod.apply(this, arguments);
@@ -48,16 +50,18 @@ function LogMethod(options) {
48
50
  return (result
49
51
  .catch((e) => {
50
52
  callSucceeded = false;
53
+ capturedError = e;
51
54
  throw e;
52
55
  })
53
- .finally(() => logMethodResult(className, method, callSucceeded, startTime, coastLogger, extraLogFields)));
56
+ .finally(() => logMethodResult(className, method, callSucceeded, startTime, coastLogger, resolvedExtras, capturedError)));
54
57
  }
55
- logMethodResult(className, method, callSucceeded, startTime, coastLogger, extraLogFields);
58
+ logMethodResult(className, method, callSucceeded, startTime, coastLogger, resolvedExtras, capturedError);
56
59
  return result;
57
60
  }
58
61
  catch (e) {
59
62
  callSucceeded = false;
60
- logMethodResult(className, method, callSucceeded, startTime, coastLogger, extraLogFields);
63
+ capturedError = e;
64
+ logMethodResult(className, method, callSucceeded, startTime, coastLogger, resolvedExtras, capturedError);
61
65
  throw e;
62
66
  }
63
67
  };
@@ -65,6 +69,21 @@ function LogMethod(options) {
65
69
  return descriptor;
66
70
  };
67
71
  }
72
+ function resolveExtras(extras, self, coastLogger) {
73
+ if (typeof extras !== 'function') {
74
+ return extras;
75
+ }
76
+ try {
77
+ return extras(self);
78
+ }
79
+ catch (e) {
80
+ coastLogger?.warn({
81
+ msg: 'LogMethod extraLogFields resolver threw; emitting log without extras',
82
+ errorClass: e instanceof Error ? e.constructor.name : undefined,
83
+ });
84
+ return undefined;
85
+ }
86
+ }
68
87
  function logMethodStart(className, methodName, coastLogger, loggableArguments, extraLogFields) {
69
88
  const loggableArgs = loggableArguments
70
89
  .map(({ value, redaction }) => {
@@ -84,14 +103,16 @@ function logMethodStart(className, methodName, coastLogger, loggableArguments, e
84
103
  msg: `Method start: ${className}.${methodName.toString()}(${loggableArgs})`,
85
104
  });
86
105
  }
87
- function logMethodResult(className, methodName, callSucceeded, startTime, coastLogger, extraLogFields) {
106
+ function logMethodResult(className, methodName, callSucceeded, startTime, coastLogger, extraLogFields, error) {
88
107
  const endTime = process.hrtime.bigint();
89
108
  const latencyMs = Number(endTime - startTime) / 1_000_000;
109
+ const errorFields = error instanceof Error ? { errorClass: error.constructor.name } : undefined;
90
110
  coastLogger?.log({
91
111
  ...extraLogFields,
92
112
  method: `${className}.${methodName.toString()}`,
93
113
  callSucceeded,
94
114
  latencyMs,
115
+ ...errorFields,
95
116
  msg: 'Method ended',
96
117
  });
97
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LogMethod.js","sourceRoot":"","sources":["../../../lib/logger/LogMethod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogMethod.js","sourceRoot":"","sources":["../../../lib/logger/LogMethod.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DeepLogObject } from '@coast/service-common/logger/DeepLogObject';
2
- export interface LogMethodOptions {
3
- extraLogFields?: Record<string, boolean | Date | DeepLogObject | number | string | undefined>;
1
+ import { ExtraLogFields } from './ExtraLogFields';
2
+ export interface LogMethodOptions<T = unknown> {
3
+ extraLogFields?: ((self: T) => ExtraLogFields) | ExtraLogFields;
4
4
  }
@@ -1,4 +1,9 @@
1
- export declare class TestLoggedMethods {
1
+ interface Named {
2
+ name: string;
3
+ }
4
+ export declare class TestLoggedMethods implements Named {
5
+ readonly name = "test_class";
6
+ counter: number;
2
7
  logStartAndEnd(): void;
3
8
  logAllParams(a: string, b: number, c: boolean, d: {
4
9
  foo: string;
@@ -18,4 +23,12 @@ export declare class TestLoggedMethods {
18
23
  logAsyncRejectsWithExtraFields(): Promise<void>;
19
24
  logThrowsWithExtraFields(): void;
20
25
  logWithReservedKeyCollision(): void;
26
+ logThrowsFakeError(): void;
27
+ logRejectsFakeError(): Promise<void>;
28
+ logThrowsString(): void;
29
+ logWithFunctionExtras(): void;
30
+ logAsyncWithFunctionExtras(): Promise<void>;
31
+ logMutatesCounter(): void;
32
+ logWithThrowingResolver(): void;
21
33
  }
34
+ export {};
@@ -16,7 +16,17 @@ exports.TestLoggedMethods = void 0;
16
16
  const Sensitive_1 = require("@coast/service-common/logger/redaction/Sensitive");
17
17
  const common_1 = require("@nestjs/common");
18
18
  const LogMethod_1 = require("../LogMethod");
19
+ class FakeError extends Error {
20
+ constructor() {
21
+ super('validation failed');
22
+ this.name = 'FakeError';
23
+ }
24
+ }
19
25
  let TestLoggedMethods = class TestLoggedMethods {
26
+ constructor() {
27
+ this.name = 'test_class';
28
+ this.counter = 0;
29
+ }
20
30
  logStartAndEnd() { }
21
31
  logAllParams(a, b, c, d) { }
22
32
  logWithRedactSensitive(a, b) { }
@@ -33,6 +43,24 @@ let TestLoggedMethods = class TestLoggedMethods {
33
43
  throw new Error('boom');
34
44
  }
35
45
  logWithReservedKeyCollision() { }
46
+ logThrowsFakeError() {
47
+ throw new FakeError();
48
+ }
49
+ async logRejectsFakeError() {
50
+ await Promise.resolve();
51
+ throw new FakeError();
52
+ }
53
+ logThrowsString() {
54
+ throw 'bare string failure';
55
+ }
56
+ logWithFunctionExtras() { }
57
+ async logAsyncWithFunctionExtras() {
58
+ await Promise.resolve();
59
+ }
60
+ logMutatesCounter() {
61
+ this.counter += 1;
62
+ }
63
+ logWithThrowingResolver() { }
36
64
  };
37
65
  exports.TestLoggedMethods = TestLoggedMethods;
38
66
  __decorate([
@@ -91,6 +119,52 @@ __decorate([
91
119
  __metadata("design:paramtypes", []),
92
120
  __metadata("design:returntype", void 0)
93
121
  ], TestLoggedMethods.prototype, "logWithReservedKeyCollision", null);
122
+ __decorate([
123
+ (0, LogMethod_1.LogMethod)(),
124
+ __metadata("design:type", Function),
125
+ __metadata("design:paramtypes", []),
126
+ __metadata("design:returntype", void 0)
127
+ ], TestLoggedMethods.prototype, "logThrowsFakeError", null);
128
+ __decorate([
129
+ (0, LogMethod_1.LogMethod)(),
130
+ __metadata("design:type", Function),
131
+ __metadata("design:paramtypes", []),
132
+ __metadata("design:returntype", Promise)
133
+ ], TestLoggedMethods.prototype, "logRejectsFakeError", null);
134
+ __decorate([
135
+ (0, LogMethod_1.LogMethod)(),
136
+ __metadata("design:type", Function),
137
+ __metadata("design:paramtypes", []),
138
+ __metadata("design:returntype", void 0)
139
+ ], TestLoggedMethods.prototype, "logThrowsString", null);
140
+ __decorate([
141
+ (0, LogMethod_1.LogMethod)({ extraLogFields: (self) => ({ toolName: self.name }) }),
142
+ __metadata("design:type", Function),
143
+ __metadata("design:paramtypes", []),
144
+ __metadata("design:returntype", void 0)
145
+ ], TestLoggedMethods.prototype, "logWithFunctionExtras", null);
146
+ __decorate([
147
+ (0, LogMethod_1.LogMethod)({ extraLogFields: (self) => ({ toolName: self.name }) }),
148
+ __metadata("design:type", Function),
149
+ __metadata("design:paramtypes", []),
150
+ __metadata("design:returntype", Promise)
151
+ ], TestLoggedMethods.prototype, "logAsyncWithFunctionExtras", null);
152
+ __decorate([
153
+ (0, LogMethod_1.LogMethod)({ extraLogFields: (self) => ({ counter: self.counter }) }),
154
+ __metadata("design:type", Function),
155
+ __metadata("design:paramtypes", []),
156
+ __metadata("design:returntype", void 0)
157
+ ], TestLoggedMethods.prototype, "logMutatesCounter", null);
158
+ __decorate([
159
+ (0, LogMethod_1.LogMethod)({
160
+ extraLogFields: () => {
161
+ throw new Error('resolver boom');
162
+ },
163
+ }),
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", []),
166
+ __metadata("design:returntype", void 0)
167
+ ], TestLoggedMethods.prototype, "logWithThrowingResolver", null);
94
168
  exports.TestLoggedMethods = TestLoggedMethods = __decorate([
95
169
  (0, common_1.Injectable)()
96
170
  ], TestLoggedMethods);
@@ -1 +1 @@
1
- {"version":3,"file":"TestLoggedMethods.js","sourceRoot":"","sources":["../../../../lib/logger/test/TestLoggedMethods.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gFAA6E;AAC7E,2CAA4C;AAE5C,4CAAyC;AAGlC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAE1B,cAAc,KAAU,CAAC;IAIzB,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,CAAU,EAAE,CAAwC,IAAS,CAAC;IAIjG,sBAAsB,CAAC,CAAS,EAAe,CAAS,IAAS,CAAC;IAIlE,4BAA4B,CAAC,CAAS,EAAgC,CAAwC,IAAS,CAAC;IAGxH,kBAAkB,KAAU,CAAC;IAGvB,AAAN,KAAK,CAAC,uBAAuB;QACzB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAGK,AAAN,KAAK,CAAC,8BAA8B;QAChC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAGD,wBAAwB;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAGD,2BAA2B,KAAU,CAAC;CACzC,CAAA;AArCY,8CAAiB;AAE1B;IADC,IAAA,qBAAS,GAAE;;;;uDACa;AAIzB;IAFC,IAAA,qBAAS,GAAE;;;;qDAEqF;AAIjG;IAFC,IAAA,qBAAS,GAAE;IAEuB,WAAA,IAAA,qBAAS,GAAE,CAAA;;;;+DAAoB;AAIlE;IAFC,IAAA,qBAAS,GAAE;IAE6B,WAAA,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;;;;qEAAmD;AAGxH;IADC,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC;;;;2DAC5B;AAGvB;IADL,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;;;;gEAG/E;AAGK;IADL,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC;;;;uEAI7D;AAGD;IADC,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC;;;;iEAG5D;AAGD;IADC,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC;;;;oEAC9C;4BApC7B,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAqC7B"}
1
+ {"version":3,"file":"TestLoggedMethods.js","sourceRoot":"","sources":["../../../../lib/logger/test/TestLoggedMethods.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gFAA6E;AAC7E,2CAA4C;AAE5C,4CAAyC;AAEzC,MAAM,SAAU,SAAQ,KAAK;IACzB;QACI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC5B,CAAC;CACJ;AAOM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACa,SAAI,GAAG,YAAY,CAAC;QAE7B,YAAO,GAAG,CAAC,CAAC;IAyEvB,CAAC;IAvEG,cAAc,KAAU,CAAC;IAIzB,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,CAAU,EAAE,CAAwC,IAAS,CAAC;IAIjG,sBAAsB,CAAC,CAAS,EAAe,CAAS,IAAS,CAAC;IAIlE,4BAA4B,CAAC,CAAS,EAAgC,CAAwC,IAAS,CAAC;IAGxH,kBAAkB,KAAU,CAAC;IAGvB,AAAN,KAAK,CAAC,uBAAuB;QACzB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAGK,AAAN,KAAK,CAAC,8BAA8B;QAChC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAGD,wBAAwB;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAGD,2BAA2B,KAAU,CAAC;IAGtC,kBAAkB;QACd,MAAM,IAAI,SAAS,EAAE,CAAC;IAC1B,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB;QACrB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,EAAE,CAAC;IAC1B,CAAC;IAGD,eAAe;QACX,MAAM,qBAAqB,CAAC;IAChC,CAAC;IAGD,qBAAqB,KAAU,CAAC;IAG1B,AAAN,KAAK,CAAC,0BAA0B;QAC5B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAGD,iBAAiB;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACtB,CAAC;IAOD,uBAAuB,KAAU,CAAC;CACrC,CAAA;AA5EY,8CAAiB;AAK1B;IADC,IAAA,qBAAS,GAAE;;;;uDACa;AAIzB;IAFC,IAAA,qBAAS,GAAE;;;;qDAEqF;AAIjG;IAFC,IAAA,qBAAS,GAAE;IAEuB,WAAA,IAAA,qBAAS,GAAE,CAAA;;;;+DAAoB;AAIlE;IAFC,IAAA,qBAAS,GAAE;IAE6B,WAAA,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;;;;qEAAmD;AAGxH;IADC,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC;;;;2DAC5B;AAGvB;IADL,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;;;;gEAG/E;AAGK;IADL,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC;;;;uEAI7D;AAGD;IADC,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC;;;;iEAG5D;AAGD;IADC,IAAA,qBAAS,EAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC;;;;oEAC9C;AAGtC;IADC,IAAA,qBAAS,GAAE;;;;2DAGX;AAGK;IADL,IAAA,qBAAS,GAAE;;;;4DAIX;AAGD;IADC,IAAA,qBAAS,GAAE;;;;wDAGX;AAGD;IADC,IAAA,qBAAS,EAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;;;;8DAC1C;AAG1B;IADL,IAAA,qBAAS,EAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;;;;mEAGzE;AAGD;IADC,IAAA,qBAAS,EAAoB,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;;;;0DAGvF;AAOD;IALC,IAAA,qBAAS,EAAC;QACP,cAAc,EAAE,GAAG,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;KACJ,CAAC;;;;gEACgC;4BA3EzB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CA4E7B"}