@theia/core 1.58.2 → 1.59.0-next.62
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/README.md +6 -6
- package/i18n/nls.json +1 -1
- package/lib/browser/catalog.json +12 -4
- package/lib/browser/logger-frontend-module.d.ts.map +1 -1
- package/lib/browser/logger-frontend-module.js +2 -3
- package/lib/browser/logger-frontend-module.js.map +1 -1
- package/lib/browser/saveable-service.js +1 -1
- package/lib/browser/saveable-service.js.map +1 -1
- package/lib/browser/saveable.d.ts +2 -0
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js.map +1 -1
- package/lib/common/logger-binding.d.ts +3 -0
- package/lib/common/logger-binding.d.ts.map +1 -0
- package/lib/common/logger-binding.js +36 -0
- package/lib/common/logger-binding.js.map +1 -0
- package/lib/common/logger-protocol.d.ts +1 -1
- package/lib/common/logger-protocol.d.ts.map +1 -1
- package/lib/common/logger-protocol.js +3 -1
- package/lib/common/logger-protocol.js.map +1 -1
- package/lib/common/logger.d.ts +1 -0
- package/lib/common/logger.d.ts.map +1 -1
- package/lib/common/logger.js +12 -1
- package/lib/common/logger.js.map +1 -1
- package/lib/common/resource.d.ts +11 -2
- package/lib/common/resource.d.ts.map +1 -1
- package/lib/common/resource.js +11 -1
- package/lib/common/resource.js.map +1 -1
- package/lib/node/console-logger-server.d.ts +5 -1
- package/lib/node/console-logger-server.d.ts.map +1 -1
- package/lib/node/console-logger-server.js +18 -4
- package/lib/node/console-logger-server.js.map +1 -1
- package/lib/node/logger-backend-module.d.ts.map +1 -1
- package/lib/node/logger-backend-module.js +2 -3
- package/lib/node/logger-backend-module.js.map +1 -1
- package/lib/node/logger-cli-contribution.d.ts +2 -0
- package/lib/node/logger-cli-contribution.d.ts.map +1 -1
- package/lib/node/logger-cli-contribution.js +40 -7
- package/lib/node/logger-cli-contribution.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/logger-frontend-module.ts +3 -4
- package/src/browser/saveable-service.ts +1 -1
- package/src/browser/saveable.ts +2 -0
- package/src/common/logger-binding.ts +34 -0
- package/src/common/logger-protocol.ts +4 -2
- package/src/common/logger.ts +10 -1
- package/src/common/resource.ts +17 -4
- package/src/node/console-logger-server.ts +22 -2
- package/src/node/logger-backend-module.ts +3 -4
- package/src/node/logger-cli-contribution.ts +43 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { LoggerWatcher } from '../common/logger-watcher';
|
|
2
3
|
import { LogLevelCliContribution } from './logger-cli-contribution';
|
|
3
4
|
import { ILoggerServer, ILoggerClient } from '../common/logger-protocol';
|
|
5
|
+
import * as fs from 'fs';
|
|
4
6
|
export declare class ConsoleLoggerServer implements ILoggerServer {
|
|
5
|
-
protected client
|
|
7
|
+
protected client?: ILoggerClient;
|
|
6
8
|
protected watcher: LoggerWatcher;
|
|
7
9
|
protected cli: LogLevelCliContribution;
|
|
10
|
+
protected logFileStream?: fs.WriteStream;
|
|
8
11
|
protected init(): void;
|
|
9
12
|
setLogLevel(name: string, newLogLevel: number): Promise<void>;
|
|
10
13
|
getLogLevel(name: string): Promise<number>;
|
|
11
14
|
log(name: string, logLevel: number, message: string, params: any[]): Promise<void>;
|
|
15
|
+
protected logToFile(message: string, params: any[]): void;
|
|
12
16
|
child(name: string): Promise<void>;
|
|
13
17
|
dispose(): void;
|
|
14
18
|
setClient(client: ILoggerClient | undefined): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-logger-server.d.ts","sourceRoot":"","sources":["../../src/node/console-logger-server.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"console-logger-server.d.ts","sourceRoot":"","sources":["../../src/node/console-logger-server.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiC,MAAM,2BAA2B,CAAC;AAGxG,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,qBACa,mBAAoB,YAAW,aAAa;IAErD,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAGjC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;IAGjC,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC;IAEvC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;IAGzC,SAAS,CAAC,IAAI,IAAI,IAAI;IAUhB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxF,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAcnD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;CAIrD"}
|
|
@@ -21,10 +21,10 @@ const inversify_1 = require("inversify");
|
|
|
21
21
|
const logger_watcher_1 = require("../common/logger-watcher");
|
|
22
22
|
const logger_cli_contribution_1 = require("./logger-cli-contribution");
|
|
23
23
|
const logger_protocol_1 = require("../common/logger-protocol");
|
|
24
|
+
const util_1 = require("util");
|
|
25
|
+
const os_1 = require("os");
|
|
26
|
+
const fs = require("fs");
|
|
24
27
|
let ConsoleLoggerServer = class ConsoleLoggerServer {
|
|
25
|
-
constructor() {
|
|
26
|
-
this.client = undefined;
|
|
27
|
-
}
|
|
28
28
|
init() {
|
|
29
29
|
this.setLogLevel(logger_protocol_1.rootLoggerName, this.cli.defaultLogLevel);
|
|
30
30
|
for (const name of Object.keys(this.cli.logLevels)) {
|
|
@@ -51,7 +51,21 @@ let ConsoleLoggerServer = class ConsoleLoggerServer {
|
|
|
51
51
|
async log(name, logLevel, message, params) {
|
|
52
52
|
const configuredLogLevel = await this.getLogLevel(name);
|
|
53
53
|
if (logLevel >= configuredLogLevel) {
|
|
54
|
-
logger_protocol_1.ConsoleLogger.log(name, logLevel, message, params);
|
|
54
|
+
const fullMessage = logger_protocol_1.ConsoleLogger.log(name, logLevel, message, params);
|
|
55
|
+
this.logToFile(fullMessage, params);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
logToFile(message, params) {
|
|
59
|
+
if (this.cli.logFile && !this.logFileStream) {
|
|
60
|
+
this.logFileStream = fs.createWriteStream(this.cli.logFile, { flags: 'a' });
|
|
61
|
+
// Only log errors once to avoid spamming the console
|
|
62
|
+
this.logFileStream.once('error', error => {
|
|
63
|
+
console.error(`Error writing to log file ${this.cli.logFile}`, error);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
if (this.logFileStream) {
|
|
67
|
+
const formatted = (0, util_1.format)(message, ...params) + os_1.EOL;
|
|
68
|
+
this.logFileStream.write(formatted);
|
|
55
69
|
}
|
|
56
70
|
}
|
|
57
71
|
async child(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-logger-server.js","sourceRoot":"","sources":["../../src/node/console-logger-server.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,yCAA8D;AAC9D,6DAAyD;AACzD,uEAAoE;AACpE,+DAAwG;
|
|
1
|
+
{"version":3,"file":"console-logger-server.js","sourceRoot":"","sources":["../../src/node/console-logger-server.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,yCAA8D;AAC9D,6DAAyD;AACzD,uEAAoE;AACpE,+DAAwG;AACxG,+BAA8B;AAC9B,2BAAyB;AACzB,yBAAyB;AAGlB,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAalB,IAAI;QACV,IAAI,CAAC,WAAW,CAAC,gCAAc,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,EAAE;;YAC7B,MAAA,IAAI,CAAC,MAAM,0CAAE,kBAAkB,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,WAAmB;QAC/C,MAAM,KAAK,GAAG;YACV,UAAU,EAAE,IAAI;YAChB,WAAW;SACd,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,OAAe,EAAE,MAAa;QACpE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,+BAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAES,SAAS,CAAC,OAAe,EAAE,MAAa;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5E,qDAAqD;YACrD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,QAAG,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAW,CAAC;IAEnB,SAAS,CAAC,MAAiC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CAEJ,CAAA;AAtEY,kDAAmB;AAKlB;IADT,IAAA,kBAAM,EAAC,8BAAa,CAAC;sCACH,8BAAa;oDAAC;AAGvB;IADT,IAAA,kBAAM,EAAC,iDAAuB,CAAC;sCACjB,iDAAuB;gDAAC;AAK7B;IADT,IAAA,yBAAa,GAAE;;;;+CASf;8BArBQ,mBAAmB;IAD/B,IAAA,sBAAU,GAAE;GACA,mBAAmB,CAsE/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/logger-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAsD,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"logger-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/logger-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAsD,MAAM,2BAA2B,CAAC;AAQ9G,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;IACtD,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;CAC1F,GAAG,IAAI,CAmBP;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,iBAiC9B,CAAC"}
|
|
@@ -25,10 +25,9 @@ const logger_watcher_1 = require("../common/logger-watcher");
|
|
|
25
25
|
const backend_application_1 = require("./backend-application");
|
|
26
26
|
const cli_1 = require("./cli");
|
|
27
27
|
const logger_cli_contribution_1 = require("./logger-cli-contribution");
|
|
28
|
+
const logger_binding_1 = require("../common/logger-binding");
|
|
28
29
|
function bindLogger(bind, props) {
|
|
29
|
-
|
|
30
|
-
bind(logger_1.ILogger).to(logger_1.Logger).inSingletonScope().whenTargetIsDefault();
|
|
31
|
-
bind(logger_watcher_1.LoggerWatcher).toSelf().inSingletonScope();
|
|
30
|
+
(0, logger_binding_1.bindCommonLogger)(bind);
|
|
32
31
|
bind(logger_protocol_1.ILoggerServer).to(console_logger_server_1.ConsoleLoggerServer).inSingletonScope().onActivation((context, server) => {
|
|
33
32
|
if (props && props.onLoggerServerActivation) {
|
|
34
33
|
props.onLoggerServerActivation(context, server);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-backend-module.js","sourceRoot":"","sources":["../../src/node/logger-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,yCAAmE;AACnE,mDAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"logger-backend-module.js","sourceRoot":"","sources":["../../src/node/logger-backend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,11 @@ export declare class LogLevelCliContribution implements CliContribution {
|
|
|
17
17
|
* Log level to use for loggers not specified in `logLevels`.
|
|
18
18
|
*/
|
|
19
19
|
protected _defaultLogLevel: LogLevel;
|
|
20
|
+
protected _logFile?: string;
|
|
20
21
|
protected logConfigChangedEvent: Emitter<void>;
|
|
21
22
|
get defaultLogLevel(): LogLevel;
|
|
22
23
|
get logLevels(): LogLevels;
|
|
24
|
+
get logFile(): string | undefined;
|
|
23
25
|
configure(conf: yargs.Argv): void;
|
|
24
26
|
setArguments(args: yargs.Arguments): Promise<void>;
|
|
25
27
|
protected watchLogConfigFile(filename: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-cli-contribution.d.ts","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjD,wCAAwC;AACxC,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBACa,uBAAwB,YAAW,eAAe;IAE3D,SAAS,CAAC,UAAU,EAAE,SAAS,CAAM;IAErC;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAiB;IAErD,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAuB;IAErE,IAAI,eAAe,IAAI,QAAQ,CAE9B;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"logger-cli-contribution.d.ts","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjD,wCAAwC;AACxC,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBACa,uBAAwB,YAAW,eAAe;IAE3D,SAAS,CAAC,UAAU,EAAE,SAAS,CAAM;IAErC;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAiB;IAErD,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAuB;IAErE,IAAI,eAAe,IAAI,QAAQ,CAE9B;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAoB3B,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cA2CxC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAyBnD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnE,IAAI,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,CAEpC;IAED,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ;IAUzC;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,QAAQ;CASrF"}
|
|
@@ -43,6 +43,9 @@ let LogLevelCliContribution = class LogLevelCliContribution {
|
|
|
43
43
|
get logLevels() {
|
|
44
44
|
return this._logLevels;
|
|
45
45
|
}
|
|
46
|
+
get logFile() {
|
|
47
|
+
return this._logFile;
|
|
48
|
+
}
|
|
46
49
|
configure(conf) {
|
|
47
50
|
conf.option('log-level', {
|
|
48
51
|
description: 'Sets the default log level',
|
|
@@ -54,6 +57,11 @@ let LogLevelCliContribution = class LogLevelCliContribution {
|
|
|
54
57
|
type: 'string',
|
|
55
58
|
nargs: 1,
|
|
56
59
|
});
|
|
60
|
+
conf.option('log-file', {
|
|
61
|
+
description: 'Path to the log file',
|
|
62
|
+
type: 'string',
|
|
63
|
+
nargs: 1
|
|
64
|
+
});
|
|
57
65
|
}
|
|
58
66
|
async setArguments(args) {
|
|
59
67
|
if (args['log-level'] !== undefined && args['log-config'] !== undefined) {
|
|
@@ -73,21 +81,46 @@ let LogLevelCliContribution = class LogLevelCliContribution {
|
|
|
73
81
|
console.error(`Error reading log config file ${filename}: ${e}`);
|
|
74
82
|
}
|
|
75
83
|
}
|
|
84
|
+
if (args['log-file'] !== undefined) {
|
|
85
|
+
let filename = args['log-file'];
|
|
86
|
+
try {
|
|
87
|
+
filename = path.resolve(filename);
|
|
88
|
+
try {
|
|
89
|
+
const stat = await fs.stat(filename);
|
|
90
|
+
if (stat && stat.isFile()) {
|
|
91
|
+
// Rename the previous log file to avoid overwriting it
|
|
92
|
+
const oldFilename = `${filename}.${stat.ctime.toISOString().replace(/:/g, '-')}.old`;
|
|
93
|
+
await fs.rename(filename, oldFilename);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// File does not exist, just continue to create it
|
|
98
|
+
}
|
|
99
|
+
await fs.writeFile(filename, '');
|
|
100
|
+
this._logFile = filename;
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
console.error(`Error creating log file ${filename}: ${e}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
76
106
|
}
|
|
77
107
|
async watchLogConfigFile(filename) {
|
|
78
|
-
|
|
108
|
+
const dir = path.dirname(filename);
|
|
109
|
+
await (0, watcher_1.subscribe)(dir, async (err, events) => {
|
|
79
110
|
if (err) {
|
|
80
111
|
console.log(`Error during log file watching ${filename}: ${err}`);
|
|
81
112
|
return;
|
|
82
113
|
}
|
|
83
114
|
try {
|
|
84
115
|
for (const event of events) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
116
|
+
if (event.path === filename) {
|
|
117
|
+
switch (event.type) {
|
|
118
|
+
case 'create':
|
|
119
|
+
case 'update':
|
|
120
|
+
await this.slurpLogConfigFile(filename);
|
|
121
|
+
this.logConfigChangedEvent.fire(undefined);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
91
124
|
}
|
|
92
125
|
}
|
|
93
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-cli-contribution.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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;;;;AAGhF,yCAAuC;AACvC,6CAA4C;AAE5C,+BAA+B;AAC/B,6CAA4C;AAC5C,2CAAiD;AACjD,6BAA6B;AAO7B;;;;GAIG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QAEO,eAAU,GAAc,EAAE,CAAC;QAErC;;WAEG;QACO,qBAAgB,GAAa,iBAAQ,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"logger-cli-contribution.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.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.
|
|
3
|
+
"version": "1.59.0-next.62+9e43c93ad",
|
|
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
|
"@phosphor/signaling": "1",
|
|
18
18
|
"@phosphor/virtualdom": "1",
|
|
19
19
|
"@phosphor/widgets": "1",
|
|
20
|
-
"@theia/application-package": "1.
|
|
21
|
-
"@theia/request": "1.
|
|
20
|
+
"@theia/application-package": "1.59.0-next.62+9e43c93ad",
|
|
21
|
+
"@theia/request": "1.59.0-next.62+9e43c93ad",
|
|
22
22
|
"@types/body-parser": "^1.16.4",
|
|
23
23
|
"@types/cookie": "^0.3.3",
|
|
24
24
|
"@types/dompurify": "^2.2.2",
|
|
@@ -210,13 +210,13 @@
|
|
|
210
210
|
"watch": "theiaext watch"
|
|
211
211
|
},
|
|
212
212
|
"devDependencies": {
|
|
213
|
-
"@theia/ext-scripts": "1.58.
|
|
214
|
-
"@theia/re-exports": "1.58.
|
|
213
|
+
"@theia/ext-scripts": "1.58.0",
|
|
214
|
+
"@theia/re-exports": "1.58.0",
|
|
215
215
|
"minimist": "^1.2.0",
|
|
216
216
|
"nodejs-file-downloader": "4.13.0"
|
|
217
217
|
},
|
|
218
218
|
"nyc": {
|
|
219
219
|
"extends": "../../configs/nyc.json"
|
|
220
220
|
},
|
|
221
|
-
"gitHead": "
|
|
221
|
+
"gitHead": "9e43c93ad61ea977db3974207bac5d7c1fd3ccd6"
|
|
222
222
|
}
|
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
|
|
17
17
|
import { ContainerModule, Container } from 'inversify';
|
|
18
18
|
import { ILoggerServer, loggerPath, ConsoleLogger } from '../common/logger-protocol';
|
|
19
|
-
import { ILogger, Logger, LoggerFactory, setRootLogger, LoggerName
|
|
19
|
+
import { ILogger, Logger, LoggerFactory, setRootLogger, LoggerName } from '../common/logger';
|
|
20
20
|
import { LoggerWatcher } from '../common/logger-watcher';
|
|
21
21
|
import { WebSocketConnectionProvider } from './messaging';
|
|
22
22
|
import { FrontendApplicationContribution } from './frontend-application-contribution';
|
|
23
23
|
import { EncodingError } from '../common/message-rpc/rpc-message-encoder';
|
|
24
|
+
import { bindCommonLogger } from '../common/logger-binding';
|
|
24
25
|
|
|
25
26
|
export const loggerFrontendModule = new ContainerModule(bind => {
|
|
26
27
|
bind(FrontendApplicationContribution).toDynamicValue(ctx => ({
|
|
@@ -29,9 +30,7 @@ export const loggerFrontendModule = new ContainerModule(bind => {
|
|
|
29
30
|
}
|
|
30
31
|
}));
|
|
31
32
|
|
|
32
|
-
bind
|
|
33
|
-
bind(ILogger).to(Logger).inSingletonScope().whenTargetIsDefault();
|
|
34
|
-
bind(LoggerWatcher).toSelf().inSingletonScope();
|
|
33
|
+
bindCommonLogger(bind);
|
|
35
34
|
bind(ILoggerServer).toDynamicValue(ctx => {
|
|
36
35
|
const loggerWatcher = ctx.container.get(LoggerWatcher);
|
|
37
36
|
const connection = ctx.container.get(WebSocketConnectionProvider);
|
package/src/browser/saveable.ts
CHANGED
|
@@ -28,6 +28,8 @@ export type AutoSaveMode = 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowCha
|
|
|
28
28
|
|
|
29
29
|
export interface Saveable {
|
|
30
30
|
readonly dirty: boolean;
|
|
31
|
+
/** If false, the saveable will not participate in autosaving. */
|
|
32
|
+
readonly autosaveable?: boolean;
|
|
31
33
|
/**
|
|
32
34
|
* This event is fired when the content of the `dirty` variable changes.
|
|
33
35
|
*/
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2025 TypeFox 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
|
+
import { interfaces } from 'inversify';
|
|
18
|
+
import { ILogger, Logger, LoggerName, rootLoggerName } from './logger';
|
|
19
|
+
import { LoggerWatcher } from './logger-watcher';
|
|
20
|
+
|
|
21
|
+
export function bindCommonLogger(bind: interfaces.Bind): void {
|
|
22
|
+
bind(LoggerName).toConstantValue(rootLoggerName);
|
|
23
|
+
bind(ILogger).to(Logger).inSingletonScope().when(request => getName(request) === undefined);
|
|
24
|
+
bind(ILogger).toDynamicValue(ctx => {
|
|
25
|
+
const logger = ctx.container.get<ILogger>(ILogger);
|
|
26
|
+
return logger.child(getName(ctx.currentRequest)!);
|
|
27
|
+
}).when(request => getName(request) !== undefined);
|
|
28
|
+
bind(LoggerWatcher).toSelf().inSingletonScope();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function getName(request: interfaces.Request): string | undefined {
|
|
32
|
+
const named = request.target.metadata.find(e => e.key === 'named');
|
|
33
|
+
return named ? named.value?.toString() : undefined;
|
|
34
|
+
}
|
|
@@ -110,10 +110,12 @@ export namespace ConsoleLogger {
|
|
|
110
110
|
console.trace = consoles.get(LogLevel.TRACE)!;
|
|
111
111
|
console.log = originalConsoleLog;
|
|
112
112
|
}
|
|
113
|
-
export function log(name: string, logLevel: number, message: string, params: any[]):
|
|
113
|
+
export function log(name: string, logLevel: number, message: string, params: any[]): string {
|
|
114
114
|
const console = consoles.get(logLevel) || originalConsoleLog;
|
|
115
115
|
const severity = (LogLevel.strings.get(logLevel) || 'unknown').toUpperCase();
|
|
116
116
|
const now = new Date();
|
|
117
|
-
|
|
117
|
+
const formattedMessage = `${now.toISOString()} ${name} ${severity} ${message}`;
|
|
118
|
+
console(formattedMessage, ...params);
|
|
119
|
+
return formattedMessage;
|
|
118
120
|
}
|
|
119
121
|
}
|
package/src/common/logger.ts
CHANGED
|
@@ -240,6 +240,8 @@ export class Logger implements ILogger {
|
|
|
240
240
|
@inject(LoggerFactory) protected readonly factory: LoggerFactory;
|
|
241
241
|
@inject(LoggerName) protected name: string;
|
|
242
242
|
|
|
243
|
+
protected cache = new Map<string, ILogger>();
|
|
244
|
+
|
|
243
245
|
@postConstruct()
|
|
244
246
|
protected init(): void {
|
|
245
247
|
if (this.name !== rootLoggerName) {
|
|
@@ -384,6 +386,13 @@ export class Logger implements ILogger {
|
|
|
384
386
|
}
|
|
385
387
|
|
|
386
388
|
child(name: string): ILogger {
|
|
387
|
-
|
|
389
|
+
const existing = this.cache.get(name);
|
|
390
|
+
if (existing) {
|
|
391
|
+
return existing;
|
|
392
|
+
} else {
|
|
393
|
+
const child = this.factory(name);
|
|
394
|
+
this.cache.set(name, child);
|
|
395
|
+
return child;
|
|
396
|
+
}
|
|
388
397
|
}
|
|
389
398
|
}
|
package/src/common/resource.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable, inject, named } from 'inversify';
|
|
17
|
+
import { injectable, inject, named, postConstruct } from 'inversify';
|
|
18
18
|
import { TextDocumentContentChangeEvent } from 'vscode-languageserver-protocol';
|
|
19
19
|
import URI from '../common/uri';
|
|
20
20
|
import { ContributionProvider } from './contribution-provider';
|
|
@@ -62,6 +62,8 @@ export interface Resource extends Disposable {
|
|
|
62
62
|
readonly readOnly?: boolean | MarkdownString;
|
|
63
63
|
|
|
64
64
|
readonly initiallyDirty?: boolean;
|
|
65
|
+
/** If false, the application should not attempt to auto-save this resource. */
|
|
66
|
+
readonly autosaveable?: boolean;
|
|
65
67
|
/**
|
|
66
68
|
* Reads latest content of this resource.
|
|
67
69
|
*
|
|
@@ -178,6 +180,11 @@ export namespace ResourceError {
|
|
|
178
180
|
|
|
179
181
|
export const ResourceResolver = Symbol('ResourceResolver');
|
|
180
182
|
export interface ResourceResolver {
|
|
183
|
+
/**
|
|
184
|
+
* Resolvers will be ordered by descending priority.
|
|
185
|
+
* Default: 0
|
|
186
|
+
*/
|
|
187
|
+
priority?: number;
|
|
181
188
|
/**
|
|
182
189
|
* Reject if a resource cannot be provided.
|
|
183
190
|
*/
|
|
@@ -195,6 +202,11 @@ export class DefaultResourceProvider {
|
|
|
195
202
|
protected readonly resolversProvider: ContributionProvider<ResourceResolver>
|
|
196
203
|
) { }
|
|
197
204
|
|
|
205
|
+
@postConstruct()
|
|
206
|
+
init(): void {
|
|
207
|
+
this.resolversProvider.getContributions().sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
208
|
+
}
|
|
209
|
+
|
|
198
210
|
/**
|
|
199
211
|
* Reject if a resource cannot be provided.
|
|
200
212
|
*/
|
|
@@ -213,7 +225,7 @@ export class DefaultResourceProvider {
|
|
|
213
225
|
}
|
|
214
226
|
|
|
215
227
|
export class MutableResource implements Resource {
|
|
216
|
-
|
|
228
|
+
protected contents: string = '';
|
|
217
229
|
|
|
218
230
|
constructor(readonly uri: URI) {
|
|
219
231
|
}
|
|
@@ -278,7 +290,7 @@ export class InMemoryResources implements ResourceResolver {
|
|
|
278
290
|
const resourceUri = uri.toString();
|
|
279
291
|
const resource = this.resources.get(resourceUri);
|
|
280
292
|
if (!resource) {
|
|
281
|
-
throw new Error(`Cannot update non-
|
|
293
|
+
throw new Error(`Cannot update non-existent in-memory resource '${resourceUri}'`);
|
|
282
294
|
}
|
|
283
295
|
resource.saveContents(contents);
|
|
284
296
|
return resource;
|
|
@@ -380,7 +392,8 @@ export class UntitledResourceResolver implements ResourceResolver {
|
|
|
380
392
|
export class UntitledResource implements Resource {
|
|
381
393
|
|
|
382
394
|
protected readonly onDidChangeContentsEmitter = new Emitter<void>();
|
|
383
|
-
initiallyDirty: boolean;
|
|
395
|
+
readonly initiallyDirty: boolean;
|
|
396
|
+
readonly autosaveable = false;
|
|
384
397
|
get onDidChangeContents(): Event<void> {
|
|
385
398
|
return this.onDidChangeContentsEmitter.event;
|
|
386
399
|
}
|
|
@@ -18,11 +18,14 @@ import { inject, injectable, postConstruct } from 'inversify';
|
|
|
18
18
|
import { LoggerWatcher } from '../common/logger-watcher';
|
|
19
19
|
import { LogLevelCliContribution } from './logger-cli-contribution';
|
|
20
20
|
import { ILoggerServer, ILoggerClient, ConsoleLogger, rootLoggerName } from '../common/logger-protocol';
|
|
21
|
+
import { format } from 'util';
|
|
22
|
+
import { EOL } from 'os';
|
|
23
|
+
import * as fs from 'fs';
|
|
21
24
|
|
|
22
25
|
@injectable()
|
|
23
26
|
export class ConsoleLoggerServer implements ILoggerServer {
|
|
24
27
|
|
|
25
|
-
protected client
|
|
28
|
+
protected client?: ILoggerClient;
|
|
26
29
|
|
|
27
30
|
@inject(LoggerWatcher)
|
|
28
31
|
protected watcher: LoggerWatcher;
|
|
@@ -30,6 +33,8 @@ export class ConsoleLoggerServer implements ILoggerServer {
|
|
|
30
33
|
@inject(LogLevelCliContribution)
|
|
31
34
|
protected cli: LogLevelCliContribution;
|
|
32
35
|
|
|
36
|
+
protected logFileStream?: fs.WriteStream;
|
|
37
|
+
|
|
33
38
|
@postConstruct()
|
|
34
39
|
protected init(): void {
|
|
35
40
|
this.setLogLevel(rootLoggerName, this.cli.defaultLogLevel);
|
|
@@ -59,7 +64,22 @@ export class ConsoleLoggerServer implements ILoggerServer {
|
|
|
59
64
|
async log(name: string, logLevel: number, message: string, params: any[]): Promise<void> {
|
|
60
65
|
const configuredLogLevel = await this.getLogLevel(name);
|
|
61
66
|
if (logLevel >= configuredLogLevel) {
|
|
62
|
-
ConsoleLogger.log(name, logLevel, message, params);
|
|
67
|
+
const fullMessage = ConsoleLogger.log(name, logLevel, message, params);
|
|
68
|
+
this.logToFile(fullMessage, params);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
protected logToFile(message: string, params: any[]): void {
|
|
73
|
+
if (this.cli.logFile && !this.logFileStream) {
|
|
74
|
+
this.logFileStream = fs.createWriteStream(this.cli.logFile, { flags: 'a' });
|
|
75
|
+
// Only log errors once to avoid spamming the console
|
|
76
|
+
this.logFileStream.once('error', error => {
|
|
77
|
+
console.error(`Error writing to log file ${this.cli.logFile}`, error);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (this.logFileStream) {
|
|
81
|
+
const formatted = format(message, ...params) + EOL;
|
|
82
|
+
this.logFileStream.write(formatted);
|
|
63
83
|
}
|
|
64
84
|
}
|
|
65
85
|
|
|
@@ -16,20 +16,19 @@
|
|
|
16
16
|
|
|
17
17
|
import { ContainerModule, Container, interfaces } from 'inversify';
|
|
18
18
|
import { ConnectionHandler, RpcConnectionHandler } from '../common/messaging';
|
|
19
|
-
import { ILogger, LoggerFactory, Logger, setRootLogger, LoggerName
|
|
19
|
+
import { ILogger, LoggerFactory, Logger, setRootLogger, LoggerName } from '../common/logger';
|
|
20
20
|
import { ILoggerServer, ILoggerClient, loggerPath, DispatchingLoggerClient } from '../common/logger-protocol';
|
|
21
21
|
import { ConsoleLoggerServer } from './console-logger-server';
|
|
22
22
|
import { LoggerWatcher } from '../common/logger-watcher';
|
|
23
23
|
import { BackendApplicationContribution } from './backend-application';
|
|
24
24
|
import { CliContribution } from './cli';
|
|
25
25
|
import { LogLevelCliContribution } from './logger-cli-contribution';
|
|
26
|
+
import { bindCommonLogger } from '../common/logger-binding';
|
|
26
27
|
|
|
27
28
|
export function bindLogger(bind: interfaces.Bind, props?: {
|
|
28
29
|
onLoggerServerActivation?: (context: interfaces.Context, server: ILoggerServer) => void
|
|
29
30
|
}): void {
|
|
30
|
-
bind
|
|
31
|
-
bind(ILogger).to(Logger).inSingletonScope().whenTargetIsDefault();
|
|
32
|
-
bind(LoggerWatcher).toSelf().inSingletonScope();
|
|
31
|
+
bindCommonLogger(bind);
|
|
33
32
|
bind<ILoggerServer>(ILoggerServer).to(ConsoleLoggerServer).inSingletonScope().onActivation((context, server) => {
|
|
34
33
|
if (props && props.onLoggerServerActivation) {
|
|
35
34
|
props.onLoggerServerActivation(context, server);
|