#39574 Implement log level transmission to extension host

This commit is contained in:
Sandeep Somavarapu
2018-01-23 19:30:44 +01:00
parent f2b303f3cc
commit c9b291978c
8 changed files with 53 additions and 41 deletions

View File

@@ -21,12 +21,11 @@ import * as watchdog from 'native-watchdog';
import * as glob from 'vs/base/common/glob';
import { ExtensionActivatedByEvent } from 'vs/workbench/api/node/extHostExtensionActivator';
import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
import { createSpdLogService } from 'vs/platform/log/node/spdlogService';
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { ILogService } from 'vs/platform/log/common/log';
import { IMessagePassingProtocol } from 'vs/base/parts/ipc/common/ipc';
import { RPCProtocol } from 'vs/workbench/services/extensions/node/rpcProtocol';
import URI from 'vs/base/common/uri';
import { ExtHostLogService } from 'vs/workbench/api/node/extHostLogService';
// const nativeExit = process.exit.bind(process);
function patchProcess(allowExit: boolean) {
@@ -78,7 +77,7 @@ export class ExtensionHostMain {
private _environment: IEnvironment;
private _extensionService: ExtHostExtensionService;
private _extHostConfiguration: ExtHostConfiguration;
private _logService: ILogService;
private _extHostLogService: ExtHostLogService;
private disposables: IDisposable[] = [];
constructor(protocol: IMessagePassingProtocol, initData: IInitData) {
@@ -92,14 +91,14 @@ export class ExtensionHostMain {
const rpcProtocol = new RPCProtocol(protocol);
const extHostWorkspace = new ExtHostWorkspace(rpcProtocol, initData.workspace);
const environmentService = new EnvironmentService(initData.args, initData.execPath);
this._logService = createSpdLogService(`exthost${initData.windowId}`, environmentService);
this.disposables.push(this._logService);
this._extHostLogService = new ExtHostLogService(initData.windowId, environmentService);
this.disposables.push(this._extHostLogService);
this._logService.info('extension host started');
this._logService.trace('initData', initData);
this._extHostLogService.info('extension host started');
this._extHostLogService.trace('initData', initData);
this._extHostConfiguration = new ExtHostConfiguration(rpcProtocol.getProxy(MainContext.MainThreadConfiguration), extHostWorkspace, initData.configuration);
this._extensionService = new ExtHostExtensionService(initData, rpcProtocol, extHostWorkspace, this._extHostConfiguration, this._logService, environmentService);
this._extensionService = new ExtHostExtensionService(initData, rpcProtocol, extHostWorkspace, this._extHostConfiguration, this._extHostLogService, environmentService);
// error forwarding and stack trace scanning
const extensionErrors = new WeakMap<Error, IExtensionDescription>();
@@ -143,7 +142,7 @@ export class ExtensionHostMain {
.then(() => this.handleEagerExtensions())
.then(() => this.handleExtensionTests())
.then(() => {
this._logService.info(`eager extensions activated`);
this._extHostLogService.info(`eager extensions activated`);
});
}