@servicetitan/log-service 30.1.2 → 30.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"global-error-handler.d.ts","sourceRoot":"","sources":["../src/global-error-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAiB,MAAM,OAAO,CAAC;AAU3C,qBACa,kBAAkB;IACF,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,GAAG;IAEzD,UAAU,CAAC,MAAM,EAAE,MAAM;IAKzB,OAAO,GACH,SAAS,MAAM,EACf,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,SAAS,MAAM,EACf,QAAQ,KAAK,EACb,qBAAkB,UAwCpB;IAEF,QAAQ,GAAI,OAAO;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,UAiBpC;IAEF,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,WAAW;CAgBtB"}
1
+ {"version":3,"file":"global-error-handler.d.ts","sourceRoot":"","sources":["../src/global-error-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAiB,MAAM,OAAO,CAAC;AAU3C,qBACa,kBAAkB;IACF,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,GAAG;IAEzD,UAAU,CAAC,MAAM,EAAE,MAAM;IAKzB,OAAO,GACH,SAAS,MAAM,EACf,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,SAAS,MAAM,EACf,QAAQ,KAAK,EACb,qBAAkB,UAwCpB;IAEF,QAAQ,GAAI,OAAO;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,UAiBpC;IAEF,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,WAAW;CAgBtB"}
@@ -102,7 +102,7 @@ let GlobalErrorHandler = class GlobalErrorHandler {
102
102
  code: error.code,
103
103
  message: error.message,
104
104
  data: error.data,
105
- });
105
+ }, { skipConsole: true });
106
106
  }
107
107
  isIgnorable(message) {
108
108
  if (typeof message !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"global-error-handler.js","sourceRoot":"","sources":["../src/global-error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-error-handler.js","sourceRoot":"","sources":["../src/global-error-handler.ts"],"names":[],"mappings":"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"}
package/dist/log.d.ts CHANGED
@@ -15,10 +15,13 @@ export interface LogWarning extends LogEntry {
15
15
  export interface LogError extends LogEntry {
16
16
  error: unknown;
17
17
  }
18
+ export interface ErrorOptions {
19
+ skipConsole?: boolean;
20
+ }
18
21
  export interface ILog {
19
22
  info(entry: LogInfo): void;
20
23
  warning(entry: LogWarning): void;
21
- error(entry: LogError): void;
24
+ error(entry: LogError, options?: ErrorOptions): void;
22
25
  }
23
26
  export declare enum LogEntryType {
24
27
  Info = "Info",
@@ -45,7 +48,9 @@ export declare class Log implements ILog {
45
48
  constructor(logStorage: LogStorage, parent?: Log | undefined);
46
49
  info(entry: LogInfo): void;
47
50
  warning(entry: LogWarning): void;
48
- error(entry: LogError): void;
51
+ error(entry: LogError, { skipConsole }?: {
52
+ skipConsole?: boolean | undefined;
53
+ }): void;
49
54
  private store;
50
55
  private expand;
51
56
  private expandError;
package/dist/log.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAAG;AAE1F,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;CAAG;AAE5C,MAAM,WAAW,UAAW,SAAQ,QAAQ;CAAG;AAE/C,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACtC,KAAK,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,IAAI;IACjB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CAChC;AAED,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;CAClB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC7C,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,gBAAgB,oDAAuC,CAAC;AAErE,qBACa,GAAI,YAAW,IAAI;IAIJ,OAAO,CAAC,QAAQ,CAAC,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAJlE,OAAO,CAAC,eAAe,CAAkB;gBAGA,UAAU,EAAE,UAAU,EACJ,MAAM,CAAC,EAAE,GAAG,YAAA;IAMvE,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK1B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKhC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAO5B,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,QAAQ;CAUnB"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAAG;AAE1F,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;CAAG;AAE5C,MAAM,WAAW,UAAW,SAAQ,QAAQ;CAAG;AAE/C,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACtC,KAAK,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,IAAI;IACjB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACxD;AAED,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;CAClB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC7C,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,gBAAgB,oDAAuC,CAAC;AAYrE,qBACa,GAAI,YAAW,IAAI;IAIJ,OAAO,CAAC,QAAQ,CAAC,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAJlE,OAAO,CAAC,eAAe,CAAkB;gBAGA,UAAU,EAAE,UAAU,EACJ,MAAM,CAAC,EAAE,GAAG,YAAA;IAMvE,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK1B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKhC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAmB,EAAE;;KAAK,GAAG,IAAI;IAa1D,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,QAAQ;CAUnB"}
package/dist/log.js CHANGED
@@ -23,6 +23,15 @@ export var LogEntryType;
23
23
  LogEntryType["Error"] = "Error";
24
24
  })(LogEntryType || (LogEntryType = {}));
25
25
  export const LOG_PARENT_TOKEN = symbolToken('LOG_PARENT_TOKEN');
26
+ function ensureError(error) {
27
+ if (error instanceof Error) {
28
+ return error;
29
+ }
30
+ if (typeof error === 'string') {
31
+ return new Error(error);
32
+ }
33
+ return new Error(serializeWithMetadata(error));
34
+ }
26
35
  let Log = class Log {
27
36
  constructor(logStorage, parent) {
28
37
  Object.defineProperty(this, "logStorage", {
@@ -56,11 +65,13 @@ let Log = class Log {
56
65
  (_a = this.parent) === null || _a === void 0 ? void 0 : _a.warning(entry);
57
66
  return this.store(this.expand(LogEntryType.Warning, entry));
58
67
  }
59
- error(entry) {
60
- var _a;
68
+ error(entry, { skipConsole = false } = {}) {
69
+ var _a, _b, _c;
61
70
  (_a = this.parent) === null || _a === void 0 ? void 0 : _a.error(entry);
62
- // eslint-disable-next-line no-console
63
- console.error('@log-service/error', entry);
71
+ if (!skipConsole) {
72
+ // eslint-disable-next-line no-console
73
+ console.error('@log-service/error', entry, ensureError((_c = (_b = entry === null || entry === void 0 ? void 0 : entry.error) !== null && _b !== void 0 ? _b : entry === null || entry === void 0 ? void 0 : entry.message) !== null && _c !== void 0 ? _c : 'Undefined entry'));
74
+ }
64
75
  return this.errorLogHandler.handle(this.expandError(entry)); // with errorLogHandler throttling
65
76
  }
66
77
  store(entry) {
package/dist/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
@@ -7,19 +7,19 @@ export function serializeWithMetadata(obj) {
7
7
  if (obj instanceof Event) {
8
8
  result += `|EventType:${obj.type}`;
9
9
  }
10
- result += `|Value:${(_a = JSON.stringify(obj)) === null || _a === void 0 ? void 0 : _a.substr(0, 100)}`;
10
+ result += `|Value:${(_a = JSON.stringify(obj)) === null || _a === void 0 ? void 0 : _a.substring(0, 100)}`;
11
11
  }
12
12
  else if (typeof obj === 'function') {
13
13
  result += `|Name:${obj.name}`;
14
14
  }
15
15
  else {
16
- result += `|Value:${(_b = JSON.stringify(obj)) === null || _b === void 0 ? void 0 : _b.substr(0, 100)}`;
16
+ result += `|Value:${(_b = JSON.stringify(obj)) === null || _b === void 0 ? void 0 : _b.substring(0, 100)}`;
17
17
  }
18
18
  }
19
19
  catch (e) {
20
20
  result += '|Unable to serialize';
21
21
  if (e instanceof Error) {
22
- result += `: ${e.message.substr(0, 100)}`;
22
+ result += `: ${e.message.substring(0, 100)}`;
23
23
  }
24
24
  }
25
25
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-with-metadata.js","sourceRoot":"","sources":["../src/serialize-with-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,GAAY;;IAC9C,IAAI,MAAM,GAAG,QAAQ,OAAO,GAAG,EAAE,CAAC;IAClC,IAAI,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,EAAE,CAAC;YAClD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACvB,MAAM,IAAI,cAAc,GAAG,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YACD,MAAM,IAAI,UAAU,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9D,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,UAAU,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9D,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,sBAAsB,CAAC;QACjC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9C,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"serialize-with-metadata.js","sourceRoot":"","sources":["../src/serialize-with-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,GAAY;;IAC9C,IAAI,MAAM,GAAG,QAAQ,OAAO,GAAG,EAAE,CAAC;IAClC,IAAI,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,EAAE,CAAC;YAClD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACvB,MAAM,IAAI,cAAc,GAAG,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YACD,MAAM,IAAI,UAAU,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACjE,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,UAAU,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACjE,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,sBAAsB,CAAC;QACjC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACjD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/log-service",
3
- "version": "30.1.2",
3
+ "version": "30.2.0",
4
4
  "description": "",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/log-service",
6
6
  "repository": {
@@ -16,7 +16,7 @@
16
16
  "src"
17
17
  ],
18
18
  "devDependencies": {
19
- "@servicetitan/react-ioc": "30.1.2",
19
+ "@servicetitan/react-ioc": "30.2.0",
20
20
  "@testing-library/dom": "^10.4.0",
21
21
  "@testing-library/react": "^16.3.0",
22
22
  "@types/lodash.throttle": "~4.1.6",
@@ -25,7 +25,7 @@
25
25
  "react": "~18.3.1"
26
26
  },
27
27
  "peerDependencies": {
28
- "@servicetitan/react-ioc": "30.1.2",
28
+ "@servicetitan/react-ioc": "30.2.0",
29
29
  "axios": ">=0.30.0 <1 || ^1.8.3",
30
30
  "mobx": ">=6.13.7",
31
31
  "react": ">=17.0.2"
@@ -39,5 +39,5 @@
39
39
  "cli": {
40
40
  "webpack": false
41
41
  },
42
- "gitHead": "76e26006c94d59038b9719ede1fa416d84d4a2c3"
42
+ "gitHead": "59b54c057f1e15cdcfeee5d81581750ea4889147"
43
43
  }
@@ -29,13 +29,16 @@ describe(`[log-service] ${GlobalErrorHandler.name}`, () => {
29
29
  test('reports error', () => {
30
30
  subject();
31
31
 
32
- expect(log.error).toHaveBeenCalledWith({
33
- error,
34
- message: error!.message,
35
- category: 'UnhandledError',
36
- code: 'UnhandledError',
37
- data: undefined,
38
- });
32
+ expect(log.error).toHaveBeenCalledWith(
33
+ {
34
+ error,
35
+ message: error!.message,
36
+ category: 'UnhandledError',
37
+ code: 'UnhandledError',
38
+ data: undefined,
39
+ },
40
+ { skipConsole: true }
41
+ );
39
42
  });
40
43
 
41
44
  describe('when error was handled', () => {
@@ -44,10 +47,13 @@ describe(`[log-service] ${GlobalErrorHandler.name}`, () => {
44
47
  test('omits category and code', () => {
45
48
  subject();
46
49
 
47
- expect(log.error).toHaveBeenCalledWith({
48
- error,
49
- message: error!.message,
50
- });
50
+ expect(log.error).toHaveBeenCalledWith(
51
+ {
52
+ error,
53
+ message: error!.message,
54
+ },
55
+ { skipConsole: true }
56
+ );
51
57
  });
52
58
  });
53
59
 
@@ -57,15 +63,18 @@ describe(`[log-service] ${GlobalErrorHandler.name}`, () => {
57
63
  test('reports synthetic error', () => {
58
64
  subject();
59
65
 
60
- expect(log.error).toHaveBeenCalledWith({
61
- error: expect.objectContaining({
66
+ expect(log.error).toHaveBeenCalledWith(
67
+ {
68
+ error: expect.objectContaining({
69
+ message: `Message - ${message}`,
70
+ stack: expect.stringContaining(`${url}:${line}:${column}`),
71
+ }),
62
72
  message: `Message - ${message}`,
63
- stack: expect.stringContaining(`${url}:${line}:${column}`),
64
- }),
65
- message: `Message - ${message}`,
66
- category: 'UnhandledError',
67
- code: 'NonUniform',
68
- });
73
+ category: 'UnhandledError',
74
+ code: 'NonUniform',
75
+ },
76
+ { skipConsole: true }
77
+ );
69
78
  });
70
79
 
71
80
  describe('when message is not a string', () => {
@@ -77,7 +86,8 @@ describe(`[log-service] ${GlobalErrorHandler.name}`, () => {
77
86
  expect(log.error).toHaveBeenCalledWith(
78
87
  expect.objectContaining({
79
88
  message: `Message - ${serializeWithMetadata(message)}`,
80
- })
89
+ }),
90
+ { skipConsole: true }
81
91
  );
82
92
  });
83
93
  });
@@ -92,7 +102,8 @@ describe(`[log-service] ${GlobalErrorHandler.name}`, () => {
92
102
  expect(log.error).toHaveBeenCalledWith(
93
103
  expect.objectContaining({
94
104
  message: `Message - ${message};Error - ${serializeWithMetadata(error)}`,
95
- })
105
+ }),
106
+ { skipConsole: true }
96
107
  );
97
108
  });
98
109
  });
@@ -152,10 +163,13 @@ describe(`[log-service] ${GlobalErrorHandler.name}`, () => {
152
163
  test('reports error', () => {
153
164
  subject();
154
165
 
155
- expect(log.error).toHaveBeenCalledWith({
156
- error,
157
- message: error.message,
158
- });
166
+ expect(log.error).toHaveBeenCalledWith(
167
+ {
168
+ error,
169
+ message: error.message,
170
+ },
171
+ { skipConsole: true }
172
+ );
159
173
  });
160
174
  });
161
175
 
@@ -166,11 +180,14 @@ describe(`[log-service] ${GlobalErrorHandler.name}`, () => {
166
180
  subject();
167
181
 
168
182
  const message = `Unhandled rejection - ${serializeWithMetadata(reason)}`;
169
- expect(log.error).toHaveBeenCalledWith({
170
- error: expect.objectContaining({ message }),
171
- message,
172
- code: 'NonUniform',
173
- });
183
+ expect(log.error).toHaveBeenCalledWith(
184
+ {
185
+ error: expect.objectContaining({ message }),
186
+ message,
187
+ code: 'NonUniform',
188
+ },
189
+ { skipConsole: true }
190
+ );
174
191
  });
175
192
  });
176
193
 
@@ -1,4 +1,4 @@
1
- import { Log, LogConfig, LogEntry, LogEntryType } from '../log';
1
+ import { Log, LogConfig, LogEntry, LogEntryType, LogError } from '../log';
2
2
  import { defaultLogConfig } from '../log-config';
3
3
  import { LogStorage } from '../log-storage';
4
4
  import { serializeWithMetadata } from '../serialize-with-metadata';
@@ -46,22 +46,75 @@ describe(`[log-service] ${Log.name}`, () => {
46
46
  );
47
47
  });
48
48
 
49
- test('log errors, after delay', () => {
50
- const errorEntry = { ...entry, error: new Error('Oops!'), message: undefined };
49
+ describe('error', () => {
51
50
  const { log, logStorage } = subject();
51
+ let error: Error | string;
52
+ let errorEntry: LogError;
53
+ let errorOptions: Parameters<typeof log.error>[1];
52
54
 
53
- log.error(errorEntry);
54
- jest.runOnlyPendingTimers();
55
+ beforeEach(() => {
56
+ jest.clearAllMocks();
57
+ errorOptions = undefined;
58
+ });
55
59
 
56
- expect(logStorage.store).toHaveBeenCalledWith(
57
- expect.objectContaining({
58
- ...errorEntry,
59
- type: LogEntryType.Error,
60
- message: errorEntry.error.message,
61
- })
62
- );
63
- // eslint-disable-next-line no-console
64
- expect(console.error).toHaveBeenCalledWith('@log-service/error', errorEntry);
60
+ const errorSubject = () => {
61
+ errorEntry = { ...entry, error, message: undefined };
62
+ log.error(errorEntry, errorOptions);
63
+ jest.runOnlyPendingTimers();
64
+ };
65
+
66
+ function itLogsError() {
67
+ const expectMessage = () =>
68
+ expect.stringContaining((errorEntry.error as Error)?.message ?? errorEntry.error);
69
+
70
+ test('stores the error', () => {
71
+ errorSubject();
72
+
73
+ expect(logStorage.store).toHaveBeenCalledWith(
74
+ expect.objectContaining({
75
+ ...errorEntry,
76
+ type: LogEntryType.Error,
77
+ error: expect.objectContaining({ message: expectMessage() }),
78
+ message: expectMessage(),
79
+ })
80
+ );
81
+ });
82
+
83
+ test('writes the error to the console', () => {
84
+ errorSubject();
85
+
86
+ // eslint-disable-next-line no-console
87
+ expect(console.error).toHaveBeenCalledWith(
88
+ '@log-service/error',
89
+ errorEntry,
90
+ expect.objectContaining({ message: expectMessage() })
91
+ );
92
+ });
93
+ }
94
+
95
+ describe('with an error object', () => {
96
+ beforeEach(() => (error = new Error('Oops!')));
97
+
98
+ itLogsError();
99
+ });
100
+
101
+ describe('with an error string', () => {
102
+ beforeEach(() => (error = 'Oops!'));
103
+
104
+ itLogsError();
105
+ });
106
+
107
+ describe('with { skipConsole: true }', () => {
108
+ beforeEach(() => {
109
+ error = new Error('Oops!');
110
+ errorOptions = { skipConsole: true };
111
+ });
112
+ test('does not write error to console', () => {
113
+ errorSubject();
114
+ // eslint-disable-next-line no-console
115
+ expect(console.error).not.toHaveBeenCalled();
116
+ });
117
+ });
65
118
  });
66
119
 
67
120
  test(`skips redundant error logged within ${THROTTLE_INTERVAL / SECOND}s`, () => {
@@ -87,13 +87,16 @@ export class GlobalErrorHandler {
87
87
  };
88
88
 
89
89
  private dispatch(error: ExtendedError) {
90
- this.logService.error({
91
- error,
92
- category: error.category,
93
- code: error.code,
94
- message: error.message,
95
- data: error.data,
96
- });
90
+ this.logService.error(
91
+ {
92
+ error,
93
+ category: error.category,
94
+ code: error.code,
95
+ message: error.message,
96
+ data: error.data,
97
+ },
98
+ { skipConsole: true }
99
+ );
97
100
  }
98
101
 
99
102
  private isIgnorable(message: string) {
package/src/log.ts CHANGED
@@ -24,10 +24,14 @@ export interface LogError extends LogEntry {
24
24
  error: unknown;
25
25
  }
26
26
 
27
+ export interface ErrorOptions {
28
+ skipConsole?: boolean;
29
+ }
30
+
27
31
  export interface ILog {
28
32
  info(entry: LogInfo): void;
29
33
  warning(entry: LogWarning): void;
30
- error(entry: LogError): void;
34
+ error(entry: LogError, options?: ErrorOptions): void;
31
35
  }
32
36
 
33
37
  export enum LogEntryType {
@@ -53,6 +57,16 @@ export type EntryCompleteError = EntryComplete & {
53
57
 
54
58
  export const LOG_PARENT_TOKEN = symbolToken<Log>('LOG_PARENT_TOKEN');
55
59
 
60
+ function ensureError(error: unknown): Error {
61
+ if (error instanceof Error) {
62
+ return error;
63
+ }
64
+ if (typeof error === 'string') {
65
+ return new Error(error);
66
+ }
67
+ return new Error(serializeWithMetadata(error));
68
+ }
69
+
56
70
  @injectable()
57
71
  export class Log implements ILog {
58
72
  private errorLogHandler: ErrorLogHandler;
@@ -75,10 +89,16 @@ export class Log implements ILog {
75
89
  return this.store(this.expand(LogEntryType.Warning, entry));
76
90
  }
77
91
 
78
- error(entry: LogError): void {
92
+ error(entry: LogError, { skipConsole = false } = {}): void {
79
93
  this.parent?.error(entry);
80
- // eslint-disable-next-line no-console
81
- console.error('@log-service/error', entry);
94
+ if (!skipConsole) {
95
+ // eslint-disable-next-line no-console
96
+ console.error(
97
+ '@log-service/error',
98
+ entry,
99
+ ensureError(entry?.error ?? entry?.message ?? 'Undefined entry')
100
+ );
101
+ }
82
102
  return this.errorLogHandler.handle(this.expandError(entry)); // with errorLogHandler throttling
83
103
  }
84
104
 
@@ -6,16 +6,16 @@ export function serializeWithMetadata(obj: unknown) {
6
6
  if (obj instanceof Event) {
7
7
  result += `|EventType:${obj.type}`;
8
8
  }
9
- result += `|Value:${JSON.stringify(obj)?.substr(0, 100)}`;
9
+ result += `|Value:${JSON.stringify(obj)?.substring(0, 100)}`;
10
10
  } else if (typeof obj === 'function') {
11
11
  result += `|Name:${obj.name}`;
12
12
  } else {
13
- result += `|Value:${JSON.stringify(obj)?.substr(0, 100)}`;
13
+ result += `|Value:${JSON.stringify(obj)?.substring(0, 100)}`;
14
14
  }
15
15
  } catch (e) {
16
16
  result += '|Unable to serialize';
17
17
  if (e instanceof Error) {
18
- result += `: ${e.message.substr(0, 100)}`;
18
+ result += `: ${e.message.substring(0, 100)}`;
19
19
  }
20
20
  }
21
21
  return result;