@theia/core 1.70.0-next.18 → 1.70.0-next.21

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.
@@ -202,7 +202,7 @@
202
202
  "name": "ABCSupplyPlan",
203
203
  "description": "ABCSupplyPlan representing all the state for performing inventory optimization and expiry analysis in ABC-Plan MasterPlanner",
204
204
  "fileMatch": ["abc-supply-plan-*.json"],
205
- "url": "https://www.schemastore.org/abc-supply-plan-11.3.0.json",
205
+ "url": "https://www.schemastore.org/abc-supply-plan-11.4.0.json",
206
206
  "versions": {
207
207
  "1.0.0": "https://www.schemastore.org/abc-supply-plan-1.0.0.json",
208
208
  "2.0.0": "https://www.schemastore.org/abc-supply-plan-2.0.0.json",
@@ -218,7 +218,8 @@
218
218
  "11.0.0": "https://www.schemastore.org/abc-supply-plan-11.0.0.json",
219
219
  "11.1.0": "https://www.schemastore.org/abc-supply-plan-11.1.0.json",
220
220
  "11.2.0": "https://www.schemastore.org/abc-supply-plan-11.2.0.json",
221
- "11.3.0": "https://www.schemastore.org/abc-supply-plan-11.3.0.json"
221
+ "11.3.0": "https://www.schemastore.org/abc-supply-plan-11.3.0.json",
222
+ "11.4.0": "https://www.schemastore.org/abc-supply-plan-11.4.0.json"
222
223
  }
223
224
  },
224
225
  {
@@ -44,6 +44,15 @@ export interface SanitizationRule {
44
44
  * The replacement string. Can include capture group references like $1, $2, etc.
45
45
  */
46
46
  replacement: string;
47
+ /**
48
+ * Optional quick check function that returns true if the message might contain
49
+ * sensitive data matching this rule. Used as a fast early-exit optimization
50
+ * to avoid running expensive regex operations on messages that definitely
51
+ * don't contain sensitive data.
52
+ *
53
+ * If not provided, the regex pattern will always be executed.
54
+ */
55
+ precheck?: (message: string) => boolean;
47
56
  }
48
57
  /**
49
58
  * Default set of log sanitization rules.
@@ -1 +1 @@
1
- {"version":3,"file":"logger-sanitizer.d.ts","sourceRoot":"","sources":["../../src/common/logger-sanitizer.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,eAAe;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAoBtD,CAAC;AAEF;;GAEG;AACH,qBACa,sBAAuB,YAAW,eAAe;IAE1D,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAA4B;IAE/D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAOpC"}
1
+ {"version":3,"file":"logger-sanitizer.d.ts","sourceRoot":"","sources":["../../src/common/logger-sanitizer.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,eAAe;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AAoBD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAsBtD,CAAC;AAEF;;GAEG;AACH,qBACa,sBAAuB,YAAW,eAAe;IAE1D,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAA4B;IAE/D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAYpC"}
@@ -19,6 +19,22 @@ exports.DefaultLoggerSanitizer = exports.DefaultSanitizationRules = exports.Logg
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("inversify");
21
21
  exports.LoggerSanitizer = Symbol('LoggerSanitizer');
22
+ /**
23
+ * Checks if message might contain a URL with credentials.
24
+ * Checks for :// (required for any URL) and @ (required for credentials).
25
+ */
26
+ function mightContainUrlCredentials(message) {
27
+ return message.includes('://') && message.includes('@');
28
+ }
29
+ /**
30
+ * Checks if message might contain API key or auth token patterns.
31
+ * Uses lowercase comparison for case-insensitive matching.
32
+ */
33
+ function mightContainApiKeyOrToken(message) {
34
+ const lower = message.toLowerCase();
35
+ return (lower.includes('api') && lower.includes('key')) ||
36
+ (lower.includes('auth') && lower.includes('token'));
37
+ }
22
38
  /**
23
39
  * Default set of log sanitization rules.
24
40
  */
@@ -30,7 +46,8 @@ exports.DefaultSanitizationRules = [
30
46
  * Capture groups: $1=protocol, $2=username, $3=password, $4=host (with optional port)
31
47
  */
32
48
  pattern: /([a-z][a-z0-9+.-]*:\/\/)([^:/@]+):([^:/@]+)@([^/:@\s]+(?::\d+)?)/giu,
33
- replacement: '$1****:****@$4'
49
+ replacement: '$1****:****@$4',
50
+ precheck: mightContainUrlCredentials
34
51
  },
35
52
  {
36
53
  /**
@@ -40,7 +57,8 @@ exports.DefaultSanitizationRules = [
40
57
  * Capture groups: $1=key with opening quote of value, $2=closing quote of value
41
58
  */
42
59
  pattern: /(\\?["'][\w.-]*(?:api[_-]?key|auth[_-]?token)\\?["']\s*:\s*\\?["'])[^"'\\]+(\\?["'])/gi,
43
- replacement: '$1****$2'
60
+ replacement: '$1****$2',
61
+ precheck: mightContainApiKeyOrToken
44
62
  }
45
63
  ];
46
64
  /**
@@ -51,9 +69,14 @@ let DefaultLoggerSanitizer = class DefaultLoggerSanitizer {
51
69
  this.rules = exports.DefaultSanitizationRules;
52
70
  }
53
71
  sanitize(message) {
72
+ if (!message) {
73
+ return message;
74
+ }
54
75
  let result = message;
55
76
  for (const rule of this.rules) {
56
- result = result.replace(rule.pattern, rule.replacement);
77
+ if (!rule.precheck || rule.precheck(result)) {
78
+ result = result.replace(rule.pattern, rule.replacement);
79
+ }
57
80
  }
58
81
  return result;
59
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger-sanitizer.js","sourceRoot":"","sources":["../../src/common/logger-sanitizer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8CAA8C;AAC9C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,yCAAuC;AAE1B,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAmDzD;;GAEG;AACU,QAAA,wBAAwB,GAAuB;IACxD;QACI;;;;WAIG;QACH,OAAO,EAAE,qEAAqE;QAC9E,WAAW,EAAE,gBAAgB;KAChC;IACD;QACI;;;;;WAKG;QACH,OAAO,EAAE,wFAAwF;QACjG,WAAW,EAAE,UAAU;KAC1B;CACJ,CAAC;AAEF;;GAEG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QAEO,UAAK,GAAuB,gCAAwB,CAAC;IASnE,CAAC;IAPG,QAAQ,CAAC,OAAe;QACpB,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AAXY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAWlC"}
1
+ {"version":3,"file":"logger-sanitizer.js","sourceRoot":"","sources":["../../src/common/logger-sanitizer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8CAA8C;AAC9C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,yCAAuC;AAE1B,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AA6DzD;;;GAGG;AACH,SAAS,0BAA0B,CAAC,OAAe;IAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACU,QAAA,wBAAwB,GAAuB;IACxD;QACI;;;;WAIG;QACH,OAAO,EAAE,qEAAqE;QAC9E,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,0BAA0B;KACvC;IACD;QACI;;;;;WAKG;QACH,OAAO,EAAE,wFAAwF;QACjG,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,yBAAyB;KACtC;CACJ,CAAC;AAEF;;GAEG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QAEO,UAAK,GAAuB,gCAAwB,CAAC;IAcnE,CAAC;IAZG,QAAQ,CAAC,OAAe;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AAhBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAgBlC"}
@@ -241,5 +241,46 @@ describe('DefaultLoggerSanitizer', () => {
241
241
  (0, chai_1.expect)(sanitized).to.equal('"serverAuthToken": "****"');
242
242
  });
243
243
  });
244
+ describe('precheck optimization', () => {
245
+ describe('URL precheck', () => {
246
+ it('should return false when :// is missing', () => {
247
+ const urlRule = logger_sanitizer_1.DefaultSanitizationRules[0];
248
+ (0, chai_1.expect)(urlRule.precheck('user@host')).to.be.false;
249
+ (0, chai_1.expect)(urlRule.precheck('email@example.com')).to.be.false;
250
+ (0, chai_1.expect)(urlRule.precheck('no url here')).to.be.false;
251
+ });
252
+ it('should return false when @ is missing even if :// exists', () => {
253
+ const urlRule = logger_sanitizer_1.DefaultSanitizationRules[0];
254
+ (0, chai_1.expect)(urlRule.precheck('https://example.com/path')).to.be.false;
255
+ (0, chai_1.expect)(urlRule.precheck('http://localhost:8080')).to.be.false;
256
+ });
257
+ it('should return true only when both :// and @ exist', () => {
258
+ const urlRule = logger_sanitizer_1.DefaultSanitizationRules[0];
259
+ (0, chai_1.expect)(urlRule.precheck('http://user:pass@host.com')).to.be.true;
260
+ (0, chai_1.expect)(urlRule.precheck('https://u:p@example.com')).to.be.true;
261
+ });
262
+ });
263
+ describe('API key precheck', () => {
264
+ it('should return false when patterns are missing', () => {
265
+ const apiKeyRule = logger_sanitizer_1.DefaultSanitizationRules[1];
266
+ (0, chai_1.expect)(apiKeyRule.precheck('normal log message')).to.be.false;
267
+ (0, chai_1.expect)(apiKeyRule.precheck('just api without the other word')).to.be.false;
268
+ (0, chai_1.expect)(apiKeyRule.precheck('just key without the other word')).to.be.false;
269
+ (0, chai_1.expect)(apiKeyRule.precheck('login failed')).to.be.false;
270
+ });
271
+ it('should return true when api and key patterns exist', () => {
272
+ const apiKeyRule = logger_sanitizer_1.DefaultSanitizationRules[1];
273
+ (0, chai_1.expect)(apiKeyRule.precheck('"api_key": "value"')).to.be.true;
274
+ (0, chai_1.expect)(apiKeyRule.precheck('API_KEY=something')).to.be.true;
275
+ (0, chai_1.expect)(apiKeyRule.precheck('the apiKey is set')).to.be.true;
276
+ });
277
+ it('should return true when auth and token patterns exist', () => {
278
+ const apiKeyRule = logger_sanitizer_1.DefaultSanitizationRules[1];
279
+ (0, chai_1.expect)(apiKeyRule.precheck('"auth_token": "value"')).to.be.true;
280
+ (0, chai_1.expect)(apiKeyRule.precheck('AUTH_TOKEN=something')).to.be.true;
281
+ (0, chai_1.expect)(apiKeyRule.precheck('the authToken is set')).to.be.true;
282
+ });
283
+ });
284
+ });
244
285
  });
245
286
  //# sourceMappingURL=logger-sanitizer.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-sanitizer.spec.js","sourceRoot":"","sources":["../../src/common/logger-sanitizer.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger-sanitizer.spec.js","sourceRoot":"","sources":["../../src/common/logger-sanitizer.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.70.0-next.18+fb0d8f692",
3
+ "version": "1.70.0-next.21+6e4fccbd9",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -17,8 +17,8 @@
17
17
  "@lumino/virtualdom": "^2.0.4",
18
18
  "@lumino/widgets": "2.7.5",
19
19
  "@parcel/watcher": "^2.5.0",
20
- "@theia/application-package": "1.70.0-next.18+fb0d8f692",
21
- "@theia/request": "1.70.0-next.18+fb0d8f692",
20
+ "@theia/application-package": "1.70.0-next.21+6e4fccbd9",
21
+ "@theia/request": "1.70.0-next.21+6e4fccbd9",
22
22
  "@types/body-parser": "^1.16.4",
23
23
  "@types/express": "^4.17.21",
24
24
  "@types/fs-extra": "^4.0.2",
@@ -221,5 +221,5 @@
221
221
  "nyc": {
222
222
  "extends": "../../configs/nyc.json"
223
223
  },
224
- "gitHead": "fb0d8f692cd8e84234fd5ccbc7df035d3158c71c"
224
+ "gitHead": "6e4fccbd9f69886b679e3d34ef27218e87885659"
225
225
  }
@@ -78,13 +78,13 @@
78
78
 
79
79
  html,
80
80
  body {
81
+ overflow: hidden;
81
82
  height: 100vh;
82
83
  }
83
84
 
84
85
  body {
85
86
  margin: 0;
86
87
  padding: 0;
87
- overflow: hidden;
88
88
  font-family: var(--theia-ui-font-family);
89
89
  background: var(--theia-editor-background);
90
90
  color: var(--theia-foreground);
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { expect } from 'chai';
18
- import { DefaultLoggerSanitizer } from './logger-sanitizer';
18
+ import { DefaultLoggerSanitizer, DefaultSanitizationRules } from './logger-sanitizer';
19
19
 
20
20
  describe('DefaultLoggerSanitizer', () => {
21
21
  let sanitizer: DefaultLoggerSanitizer;
@@ -285,4 +285,57 @@ describe('DefaultLoggerSanitizer', () => {
285
285
  expect(sanitized).to.equal('"serverAuthToken": "****"');
286
286
  });
287
287
  });
288
+
289
+ describe('precheck optimization', () => {
290
+ describe('URL precheck', () => {
291
+ it('should return false when :// is missing', () => {
292
+ const urlRule = DefaultSanitizationRules[0];
293
+
294
+ expect(urlRule.precheck!('user@host')).to.be.false;
295
+ expect(urlRule.precheck!('email@example.com')).to.be.false;
296
+ expect(urlRule.precheck!('no url here')).to.be.false;
297
+ });
298
+
299
+ it('should return false when @ is missing even if :// exists', () => {
300
+ const urlRule = DefaultSanitizationRules[0];
301
+
302
+ expect(urlRule.precheck!('https://example.com/path')).to.be.false;
303
+ expect(urlRule.precheck!('http://localhost:8080')).to.be.false;
304
+ });
305
+
306
+ it('should return true only when both :// and @ exist', () => {
307
+ const urlRule = DefaultSanitizationRules[0];
308
+
309
+ expect(urlRule.precheck!('http://user:pass@host.com')).to.be.true;
310
+ expect(urlRule.precheck!('https://u:p@example.com')).to.be.true;
311
+ });
312
+ });
313
+
314
+ describe('API key precheck', () => {
315
+ it('should return false when patterns are missing', () => {
316
+ const apiKeyRule = DefaultSanitizationRules[1];
317
+
318
+ expect(apiKeyRule.precheck!('normal log message')).to.be.false;
319
+ expect(apiKeyRule.precheck!('just api without the other word')).to.be.false;
320
+ expect(apiKeyRule.precheck!('just key without the other word')).to.be.false;
321
+ expect(apiKeyRule.precheck!('login failed')).to.be.false;
322
+ });
323
+
324
+ it('should return true when api and key patterns exist', () => {
325
+ const apiKeyRule = DefaultSanitizationRules[1];
326
+
327
+ expect(apiKeyRule.precheck!('"api_key": "value"')).to.be.true;
328
+ expect(apiKeyRule.precheck!('API_KEY=something')).to.be.true;
329
+ expect(apiKeyRule.precheck!('the apiKey is set')).to.be.true;
330
+ });
331
+
332
+ it('should return true when auth and token patterns exist', () => {
333
+ const apiKeyRule = DefaultSanitizationRules[1];
334
+
335
+ expect(apiKeyRule.precheck!('"auth_token": "value"')).to.be.true;
336
+ expect(apiKeyRule.precheck!('AUTH_TOKEN=something')).to.be.true;
337
+ expect(apiKeyRule.precheck!('the authToken is set')).to.be.true;
338
+ });
339
+ });
340
+ });
288
341
  });
@@ -65,6 +65,34 @@ export interface SanitizationRule {
65
65
  * The replacement string. Can include capture group references like $1, $2, etc.
66
66
  */
67
67
  replacement: string;
68
+
69
+ /**
70
+ * Optional quick check function that returns true if the message might contain
71
+ * sensitive data matching this rule. Used as a fast early-exit optimization
72
+ * to avoid running expensive regex operations on messages that definitely
73
+ * don't contain sensitive data.
74
+ *
75
+ * If not provided, the regex pattern will always be executed.
76
+ */
77
+ precheck?: (message: string) => boolean;
78
+ }
79
+
80
+ /**
81
+ * Checks if message might contain a URL with credentials.
82
+ * Checks for :// (required for any URL) and @ (required for credentials).
83
+ */
84
+ function mightContainUrlCredentials(message: string): boolean {
85
+ return message.includes('://') && message.includes('@');
86
+ }
87
+
88
+ /**
89
+ * Checks if message might contain API key or auth token patterns.
90
+ * Uses lowercase comparison for case-insensitive matching.
91
+ */
92
+ function mightContainApiKeyOrToken(message: string): boolean {
93
+ const lower = message.toLowerCase();
94
+ return (lower.includes('api') && lower.includes('key')) ||
95
+ (lower.includes('auth') && lower.includes('token'));
68
96
  }
69
97
 
70
98
  /**
@@ -78,7 +106,8 @@ export const DefaultSanitizationRules: SanitizationRule[] = [
78
106
  * Capture groups: $1=protocol, $2=username, $3=password, $4=host (with optional port)
79
107
  */
80
108
  pattern: /([a-z][a-z0-9+.-]*:\/\/)([^:/@]+):([^:/@]+)@([^/:@\s]+(?::\d+)?)/giu,
81
- replacement: '$1****:****@$4'
109
+ replacement: '$1****:****@$4',
110
+ precheck: mightContainUrlCredentials
82
111
  },
83
112
  {
84
113
  /**
@@ -88,7 +117,8 @@ export const DefaultSanitizationRules: SanitizationRule[] = [
88
117
  * Capture groups: $1=key with opening quote of value, $2=closing quote of value
89
118
  */
90
119
  pattern: /(\\?["'][\w.-]*(?:api[_-]?key|auth[_-]?token)\\?["']\s*:\s*\\?["'])[^"'\\]+(\\?["'])/gi,
91
- replacement: '$1****$2'
120
+ replacement: '$1****$2',
121
+ precheck: mightContainApiKeyOrToken
92
122
  }
93
123
  ];
94
124
 
@@ -101,9 +131,14 @@ export class DefaultLoggerSanitizer implements LoggerSanitizer {
101
131
  protected rules: SanitizationRule[] = DefaultSanitizationRules;
102
132
 
103
133
  sanitize(message: string): string {
134
+ if (!message) {
135
+ return message;
136
+ }
104
137
  let result = message;
105
138
  for (const rule of this.rules) {
106
- result = result.replace(rule.pattern, rule.replacement);
139
+ if (!rule.precheck || rule.precheck(result)) {
140
+ result = result.replace(rule.pattern, rule.replacement);
141
+ }
107
142
  }
108
143
  return result;
109
144
  }