@theia/core 1.71.0-next.64 → 1.71.0-next.72
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.
- package/lib/browser/catalog.json +30 -2
- package/lib/browser/frontend-application-contribution.d.ts +2 -2
- package/lib/browser/frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/frontend-application.d.ts +2 -0
- package/lib/browser/frontend-application.d.ts.map +1 -1
- package/lib/browser/frontend-application.js +15 -6
- package/lib/browser/frontend-application.js.map +1 -1
- package/lib/browser/performance/frontend-stopwatch.js +1 -1
- package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
- package/lib/common/performance/index.d.ts +1 -0
- package/lib/common/performance/index.d.ts.map +1 -1
- package/lib/common/performance/index.js +1 -0
- package/lib/common/performance/index.js.map +1 -1
- package/lib/common/performance/simple-stopwatch.d.ts +18 -0
- package/lib/common/performance/simple-stopwatch.d.ts.map +1 -0
- package/lib/common/performance/simple-stopwatch.js +80 -0
- package/lib/common/performance/simple-stopwatch.js.map +1 -0
- package/lib/common/performance/stopwatch.d.ts +41 -0
- package/lib/common/performance/stopwatch.d.ts.map +1 -1
- package/lib/common/performance/stopwatch.js +89 -3
- package/lib/common/performance/stopwatch.js.map +1 -1
- package/lib/common/performance/stopwatch.spec.d.ts +2 -0
- package/lib/common/performance/stopwatch.spec.d.ts.map +1 -0
- package/lib/common/performance/stopwatch.spec.js +256 -0
- package/lib/common/performance/stopwatch.spec.js.map +1 -0
- package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application-module.js +3 -0
- package/lib/electron-main/electron-main-application-module.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +2 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +14 -5
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/node/backend-application.d.ts +2 -0
- package/lib/node/backend-application.d.ts.map +1 -1
- package/lib/node/backend-application.js +17 -5
- package/lib/node/backend-application.js.map +1 -1
- package/lib/node/performance/node-stopwatch.js +1 -1
- package/lib/node/performance/node-stopwatch.js.map +1 -1
- package/package.json +4 -4
- package/src/browser/frontend-application-contribution.ts +2 -2
- package/src/browser/frontend-application.ts +26 -17
- package/src/browser/performance/frontend-stopwatch.ts +1 -1
- package/src/common/performance/index.ts +1 -0
- package/src/common/performance/simple-stopwatch.ts +91 -0
- package/src/common/performance/stopwatch.spec.ts +321 -0
- package/src/common/performance/stopwatch.ts +103 -2
- package/src/electron-main/electron-main-application-module.ts +3 -0
- package/src/electron-main/electron-main-application.ts +21 -5
- package/src/node/backend-application.ts +27 -10
- package/src/node/performance/node-stopwatch.ts +1 -1
|
@@ -107,7 +107,7 @@ let BackendApplication = class BackendApplication {
|
|
|
107
107
|
await Promise.all(this.contributionsProvider.getContributions().map(async (contribution) => {
|
|
108
108
|
if (contribution.initialize) {
|
|
109
109
|
try {
|
|
110
|
-
await this.
|
|
110
|
+
await this.measureContribution(contribution, 'initialize', () => contribution.initialize());
|
|
111
111
|
}
|
|
112
112
|
catch (error) {
|
|
113
113
|
console.error('Could not initialize contribution', error);
|
|
@@ -119,6 +119,7 @@ let BackendApplication = class BackendApplication {
|
|
|
119
119
|
return this._configured;
|
|
120
120
|
}
|
|
121
121
|
init() {
|
|
122
|
+
this.settlementContext = new common_1.MeasurementContext(this.stopwatch, 'Backend', TIMER_WARNING_THRESHOLD);
|
|
122
123
|
this._configured = this.configure();
|
|
123
124
|
}
|
|
124
125
|
async configure() {
|
|
@@ -137,7 +138,7 @@ let BackendApplication = class BackendApplication {
|
|
|
137
138
|
await Promise.all(this.contributionsProvider.getContributions().map(async (contribution) => {
|
|
138
139
|
if (contribution.configure) {
|
|
139
140
|
try {
|
|
140
|
-
await contribution.configure(this.app);
|
|
141
|
+
await this.measureContribution(contribution, 'configure', () => contribution.configure(this.app));
|
|
141
142
|
}
|
|
142
143
|
catch (error) {
|
|
143
144
|
console.error('Could not configure contribution', error);
|
|
@@ -150,6 +151,7 @@ let BackendApplication = class BackendApplication {
|
|
|
150
151
|
this.app.use(...handlers);
|
|
151
152
|
}
|
|
152
153
|
async start(port, hostname) {
|
|
154
|
+
const startupMeasurement = this.stopwatch.start('backend-startup');
|
|
153
155
|
hostname ??= this.cliParams.hostname;
|
|
154
156
|
port ??= this.cliParams.port;
|
|
155
157
|
if (this.cliParams.dnsDefaultResultOrder !== 'nodeDefault') {
|
|
@@ -203,14 +205,17 @@ let BackendApplication = class BackendApplication {
|
|
|
203
205
|
for (const contribution of this.contributionsProvider.getContributions()) {
|
|
204
206
|
if (contribution.onStart) {
|
|
205
207
|
try {
|
|
206
|
-
await this.
|
|
208
|
+
await this.measureContribution(contribution, 'onStart', () => contribution.onStart(server));
|
|
207
209
|
}
|
|
208
210
|
catch (error) {
|
|
209
211
|
console.error('Could not start contribution', error);
|
|
210
212
|
}
|
|
211
213
|
}
|
|
212
214
|
}
|
|
213
|
-
|
|
215
|
+
await deferred.promise;
|
|
216
|
+
startupMeasurement.info('Backend application startup sequence completed (async work may still be pending)');
|
|
217
|
+
this.settlementContext?.armAllSettled();
|
|
218
|
+
return server;
|
|
214
219
|
}
|
|
215
220
|
getHttpUrl({ address, port, family }, ssl) {
|
|
216
221
|
const scheme = ssl ? 'https' : 'http';
|
|
@@ -246,8 +251,15 @@ let BackendApplication = class BackendApplication {
|
|
|
246
251
|
res.set('Content-Type', contentType);
|
|
247
252
|
next();
|
|
248
253
|
}
|
|
254
|
+
async measureContribution(contribution, hook, fn) {
|
|
255
|
+
let innerResult;
|
|
256
|
+
this.settlementContext?.ensureEntry(contribution);
|
|
257
|
+
const result = await this.measure(contribution.constructor.name + '.' + hook, () => (innerResult = fn()));
|
|
258
|
+
this.settlementContext?.trackSettlement(contribution, innerResult);
|
|
259
|
+
return result;
|
|
260
|
+
}
|
|
249
261
|
async measure(name, fn) {
|
|
250
|
-
return this.stopwatch.startAsync(name, `Backend ${name}`, fn, { thresholdMillis: TIMER_WARNING_THRESHOLD });
|
|
262
|
+
return this.stopwatch.startAsync(name, `Backend ${name}`, fn, { thresholdMillis: TIMER_WARNING_THRESHOLD, defaultLogLevel: common_1.LogLevel.DEBUG });
|
|
251
263
|
}
|
|
252
264
|
handleUncaughtError(error) {
|
|
253
265
|
if (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-application.js","sourceRoot":"","sources":["../../src/node/backend-application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backend-application.js","sourceRoot":"","sources":["../../src/node/backend-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-stopwatch.js","sourceRoot":"","sources":["../../../src/node/performance/node-stopwatch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;gFAcgF;;;;AAEhF,yCAAuC;AACvC,2CAAyC;AACzC,yCAA0E;AAGnE,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,kBAAS;IAExC;QACI,KAAK,CAAC;YACF,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"node-stopwatch.js","sourceRoot":"","sources":["../../../src/node/performance/node-stopwatch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;gFAcgF;;;;AAEhF,yCAAuC;AACvC,2CAAyC;AACzC,yCAA0E;AAGnE,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,kBAAS;IAExC;QACI,KAAK,CAAC;YACF,KAAK,EAAE,iBAAiB;YACxB,GAAG,EAAE,GAAG,EAAE,CAAC,wBAAW,CAAC,GAAG,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAA4B;QAC5C,MAAM,SAAS,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE;YACrC,MAAM,QAAQ,GAAG,wBAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACnC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;CAEJ,CAAA;AAlBY,sCAAa;wBAAb,aAAa;IADzB,IAAA,sBAAU,GAAE;;GACA,aAAa,CAkBzB;AAAA,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/core",
|
|
3
|
-
"version": "1.71.0-next.
|
|
3
|
+
"version": "1.71.0-next.72+95c8dba0e",
|
|
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.6",
|
|
20
|
-
"@theia/application-package": "1.71.0-next.
|
|
21
|
-
"@theia/request": "1.71.0-next.
|
|
20
|
+
"@theia/application-package": "1.71.0-next.72+95c8dba0e",
|
|
21
|
+
"@theia/request": "1.71.0-next.72+95c8dba0e",
|
|
22
22
|
"@types/body-parser": "^1.19.6",
|
|
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": "
|
|
224
|
+
"gitHead": "95c8dba0ee6349c6be262ac2cf383909a3b62761"
|
|
225
225
|
}
|
|
@@ -28,7 +28,7 @@ export interface FrontendApplicationContribution {
|
|
|
28
28
|
/**
|
|
29
29
|
* Called on application startup before configure is called.
|
|
30
30
|
*/
|
|
31
|
-
initialize?(): void
|
|
31
|
+
initialize?(): MaybePromise<void>;
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Called before commands, key bindings and menus are initialized.
|
|
@@ -103,7 +103,7 @@ export namespace OnWillStopAction {
|
|
|
103
103
|
@injectable()
|
|
104
104
|
export abstract class DefaultFrontendApplicationContribution implements FrontendApplicationContribution {
|
|
105
105
|
|
|
106
|
-
initialize(): void {
|
|
106
|
+
initialize(): MaybePromise<void> {
|
|
107
107
|
// NOOP
|
|
108
108
|
}
|
|
109
109
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { inject, injectable, named } from 'inversify';
|
|
18
|
-
import { ContributionProvider, CommandRegistry, MenuModelRegistry, isOSX, BackendStopwatch, LogLevel, Stopwatch } from '../common';
|
|
18
|
+
import { ContributionProvider, CommandRegistry, MenuModelRegistry, isOSX, BackendStopwatch, LogLevel, MeasurementContext, Stopwatch } from '../common';
|
|
19
19
|
import { MaybePromise } from '../common/types';
|
|
20
20
|
import { KeybindingRegistry } from './keybinding';
|
|
21
21
|
import { Widget } from './widgets';
|
|
@@ -48,6 +48,8 @@ export class FrontendApplication {
|
|
|
48
48
|
@inject(BackendStopwatch)
|
|
49
49
|
protected readonly backendStopwatch: BackendStopwatch;
|
|
50
50
|
|
|
51
|
+
private settlementContext?: MeasurementContext<FrontendApplicationContribution>;
|
|
52
|
+
|
|
51
53
|
constructor(
|
|
52
54
|
@inject(CommandRegistry) protected readonly commands: CommandRegistry,
|
|
53
55
|
@inject(MenuModelRegistry) protected readonly menus: MenuModelRegistry,
|
|
@@ -74,6 +76,7 @@ export class FrontendApplication {
|
|
|
74
76
|
*/
|
|
75
77
|
async start(): Promise<void> {
|
|
76
78
|
const startup = this.backendStopwatch.start('frontend');
|
|
79
|
+
this.settlementContext = new MeasurementContext(this.stopwatch, 'Frontend', TIMER_WARNING_THRESHOLD);
|
|
77
80
|
|
|
78
81
|
await this.measure('startContributions', () => this.startContributions(), 'Start frontend contributions', false);
|
|
79
82
|
this.stateService.state = 'started_contributions';
|
|
@@ -91,8 +94,9 @@ export class FrontendApplication {
|
|
|
91
94
|
await this.measure('revealShell', () => this.revealShell(host), 'Replace loading indicator with ready workbench UI (animation)', false);
|
|
92
95
|
this.registerEventListeners();
|
|
93
96
|
this.stateService.state = 'ready';
|
|
97
|
+
this.settlementContext?.armAllSettled();
|
|
94
98
|
|
|
95
|
-
startup.then(idToken => this.backendStopwatch.stop(idToken, 'Frontend application
|
|
99
|
+
startup.then(idToken => this.backendStopwatch.stop(idToken, 'Frontend application startup sequence completed (async work may still be pending)', []));
|
|
96
100
|
}
|
|
97
101
|
|
|
98
102
|
/**
|
|
@@ -229,9 +233,8 @@ export class FrontendApplication {
|
|
|
229
233
|
protected async createDefaultLayout(): Promise<void> {
|
|
230
234
|
for (const contribution of this.contributions.getContributions()) {
|
|
231
235
|
if (contribution.initializeLayout) {
|
|
232
|
-
await this.
|
|
233
|
-
() => contribution.initializeLayout!(this)
|
|
234
|
-
);
|
|
236
|
+
await this.measureContribution(contribution, 'initializeLayout',
|
|
237
|
+
() => contribution.initializeLayout!(this));
|
|
235
238
|
}
|
|
236
239
|
}
|
|
237
240
|
}
|
|
@@ -239,9 +242,8 @@ export class FrontendApplication {
|
|
|
239
242
|
protected async fireOnDidInitializeLayout(): Promise<void> {
|
|
240
243
|
for (const contribution of this.contributions.getContributions()) {
|
|
241
244
|
if (contribution.onDidInitializeLayout) {
|
|
242
|
-
await this.
|
|
243
|
-
() => contribution.onDidInitializeLayout!(this)
|
|
244
|
-
);
|
|
245
|
+
await this.measureContribution(contribution, 'onDidInitializeLayout',
|
|
246
|
+
() => contribution.onDidInitializeLayout!(this));
|
|
245
247
|
}
|
|
246
248
|
}
|
|
247
249
|
}
|
|
@@ -253,9 +255,8 @@ export class FrontendApplication {
|
|
|
253
255
|
for (const contribution of this.contributions.getContributions()) {
|
|
254
256
|
if (contribution.initialize) {
|
|
255
257
|
try {
|
|
256
|
-
await this.
|
|
257
|
-
() => contribution.initialize!()
|
|
258
|
-
);
|
|
258
|
+
await this.measureContribution(contribution, 'initialize',
|
|
259
|
+
() => contribution.initialize!());
|
|
259
260
|
} catch (error) {
|
|
260
261
|
console.error('Could not initialize contribution', error);
|
|
261
262
|
}
|
|
@@ -265,9 +266,8 @@ export class FrontendApplication {
|
|
|
265
266
|
for (const contribution of this.contributions.getContributions()) {
|
|
266
267
|
if (contribution.configure) {
|
|
267
268
|
try {
|
|
268
|
-
await this.
|
|
269
|
-
() => contribution.configure!(this)
|
|
270
|
-
);
|
|
269
|
+
await this.measureContribution(contribution, 'configure',
|
|
270
|
+
() => contribution.configure!(this));
|
|
271
271
|
} catch (error) {
|
|
272
272
|
console.error('Could not configure contribution', error);
|
|
273
273
|
}
|
|
@@ -291,9 +291,8 @@ export class FrontendApplication {
|
|
|
291
291
|
for (const contribution of this.contributions.getContributions()) {
|
|
292
292
|
if (contribution.onStart) {
|
|
293
293
|
try {
|
|
294
|
-
await this.
|
|
295
|
-
() => contribution.onStart!(this)
|
|
296
|
-
);
|
|
294
|
+
await this.measureContribution(contribution, 'onStart',
|
|
295
|
+
() => contribution.onStart!(this));
|
|
297
296
|
} catch (error) {
|
|
298
297
|
console.error('Could not start contribution', error);
|
|
299
298
|
}
|
|
@@ -318,6 +317,16 @@ export class FrontendApplication {
|
|
|
318
317
|
console.info('<<< All frontend contributions have been stopped.');
|
|
319
318
|
}
|
|
320
319
|
|
|
320
|
+
protected async measureContribution<T>(contribution: FrontendApplicationContribution, hook: string, fn: () => MaybePromise<T>): Promise<T> {
|
|
321
|
+
let innerResult: MaybePromise<T>;
|
|
322
|
+
this.settlementContext?.ensureEntry(contribution);
|
|
323
|
+
const result = await this.measure(contribution.constructor.name + '.' + hook,
|
|
324
|
+
() => (innerResult = fn())
|
|
325
|
+
);
|
|
326
|
+
this.settlementContext?.trackSettlement(contribution, innerResult!);
|
|
327
|
+
return result;
|
|
328
|
+
}
|
|
329
|
+
|
|
321
330
|
protected async measure<T>(name: string, fn: () => MaybePromise<T>, message = `Frontend ${name}`, threshold = true): Promise<T> {
|
|
322
331
|
return this.stopwatch.startAsync(name, message, fn,
|
|
323
332
|
threshold ? { thresholdMillis: TIMER_WARNING_THRESHOLD, defaultLogLevel: LogLevel.DEBUG } : {});
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 STMicroelectronics and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
18
|
+
|
|
19
|
+
import { LogLevel } from '../logger';
|
|
20
|
+
import { Measurement, MeasurementOptions } from './measurement';
|
|
21
|
+
import { Stopwatch } from './stopwatch';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A simple {@link Stopwatch} that uses a caller-supplied time function and logs
|
|
25
|
+
* via `console`. Usable without Inversify DI: this class does not assign nor
|
|
26
|
+
* use the inherited `logger` field.
|
|
27
|
+
*/
|
|
28
|
+
export class SimpleStopwatch extends Stopwatch {
|
|
29
|
+
|
|
30
|
+
constructor(owner: string, now: () => number) {
|
|
31
|
+
super({ owner, now });
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
start(name: string, options?: MeasurementOptions): Measurement {
|
|
35
|
+
const now = this.defaultLogOptions.now;
|
|
36
|
+
const startTime = now();
|
|
37
|
+
|
|
38
|
+
return this.createMeasurement(name, () => ({
|
|
39
|
+
startTime,
|
|
40
|
+
duration: now() - startTime
|
|
41
|
+
}), options);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
protected override log(measurement: Measurement, activity: string, options: {
|
|
45
|
+
now: () => number;
|
|
46
|
+
owner?: string;
|
|
47
|
+
context?: string;
|
|
48
|
+
arguments?: any[];
|
|
49
|
+
} & MeasurementOptions): void {
|
|
50
|
+
const elapsed = measurement.stop();
|
|
51
|
+
const level = this.logLevel(elapsed, options);
|
|
52
|
+
|
|
53
|
+
if (Number.isNaN(elapsed)) {
|
|
54
|
+
switch (level) {
|
|
55
|
+
case LogLevel.ERROR:
|
|
56
|
+
case LogLevel.FATAL:
|
|
57
|
+
break;
|
|
58
|
+
default:
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const origin = options.owner ?? 'application';
|
|
64
|
+
const timeFromStart = `${(options.now() / 1000).toFixed(3)} s since ${origin} start`;
|
|
65
|
+
const whatWasMeasured = options.context ? `[${options.context}] ${activity}` : activity;
|
|
66
|
+
const message = `${whatWasMeasured}: ${elapsed.toFixed(1)} ms [${timeFromStart}]`;
|
|
67
|
+
const args = options.arguments ?? [];
|
|
68
|
+
|
|
69
|
+
switch (level) {
|
|
70
|
+
case LogLevel.FATAL:
|
|
71
|
+
case LogLevel.ERROR:
|
|
72
|
+
console.error(message, ...args);
|
|
73
|
+
break;
|
|
74
|
+
case LogLevel.WARN:
|
|
75
|
+
console.warn(message, ...args);
|
|
76
|
+
break;
|
|
77
|
+
case LogLevel.INFO:
|
|
78
|
+
console.info(message, ...args);
|
|
79
|
+
break;
|
|
80
|
+
case LogLevel.DEBUG:
|
|
81
|
+
console.debug(message, ...args);
|
|
82
|
+
break;
|
|
83
|
+
case LogLevel.TRACE:
|
|
84
|
+
console.trace(message, ...args);
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
console.log(message, ...args);
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|