diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 3de4a7af9dd..7c10f6b6b56 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -434,23 +434,7 @@ declare module 'vscode' { Off = 7 } - /** - * A logger for writing to an extension's log file, and accessing its dedicated log directory. - */ - export interface Logger { - trace(message: string, ...args: any[]): void; - debug(message: string, ...args: any[]): void; - info(message: string, ...args: any[]): void; - warn(message: string, ...args: any[]): void; - error(message: string | Error, ...args: any[]): void; - critical(message: string | Error, ...args: any[]): void; - } - export interface ExtensionContext { - /** - * This extension's logger - */ - logger: Logger; /** * Path where an extension can write log files. diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts index ea64898c5b1..a8afbaabb36 100644 --- a/src/vs/workbench/api/node/extHost.api.impl.ts +++ b/src/vs/workbench/api/node/extHost.api.impl.ts @@ -227,7 +227,10 @@ export function createApiFactory( get language() { return platform.language; }, get appName() { return product.nameLong; }, get appRoot() { return initData.environment.appRoot; }, - get logLevel() { return extHostLogService.getLevel(); } + get logLevel() { + checkProposedApiEnabled(extension); + return extHostLogService.getLevel(); + } }); // namespace: extensions diff --git a/src/vs/workbench/api/node/extHostExtensionActivator.ts b/src/vs/workbench/api/node/extHostExtensionActivator.ts index cbd8a70d649..b392d0182f1 100644 --- a/src/vs/workbench/api/node/extHostExtensionActivator.ts +++ b/src/vs/workbench/api/node/extHostExtensionActivator.ts @@ -10,7 +10,6 @@ import Severity from 'vs/base/common/severity'; import { TPromise } from 'vs/base/common/winjs.base'; import { ExtensionDescriptionRegistry } from 'vs/workbench/services/extensions/node/extensionDescriptionRegistry'; import { IExtensionDescription } from 'vs/workbench/services/extensions/common/extensions'; -import { ExtHostLogger } from 'vs/workbench/api/node/extHostLogService'; const hasOwnProperty = Object.hasOwnProperty; const NO_OP_VOID_PROMISE = TPromise.wrap(void 0); @@ -27,7 +26,6 @@ export interface IExtensionContext { extensionPath: string; storagePath: string; asAbsolutePath(relativePath: string): string; - logger: ExtHostLogger; readonly logDirectory: string; readonly logPath: string; } diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts index f29e288412b..06c52263022 100644 --- a/src/vs/workbench/api/node/extHostExtensionService.ts +++ b/src/vs/workbench/api/node/extHostExtensionService.ts @@ -361,10 +361,6 @@ export class ExtHostExtensionService implements ExtHostExtensionServiceShape { get extensionPath() { return extensionDescription.extensionLocation.fsPath; }, storagePath: this._storagePath.value(extensionDescription), asAbsolutePath: (relativePath: string) => { return join(extensionDescription.extensionLocation.fsPath, relativePath); }, - get logger() { - checkProposedApiEnabled(extensionDescription); - return that._extHostLogService.getExtLogger(extensionDescription.id); - }, get logDirectory() { console.warn(`this PROPOSED API has been RENAMED to 'logPath'`); checkProposedApiEnabled(extensionDescription); diff --git a/src/vs/workbench/api/node/extHostLogService.ts b/src/vs/workbench/api/node/extHostLogService.ts index 6708690a2f4..31b0113188f 100644 --- a/src/vs/workbench/api/node/extHostLogService.ts +++ b/src/vs/workbench/api/node/extHostLogService.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import * as vscode from 'vscode'; import { join } from 'vs/base/common/paths'; import { LogLevel } from 'vs/workbench/api/node/extHostTypes'; import { ILogService, DelegatedLogService } from 'vs/platform/log/common/log'; @@ -14,8 +13,6 @@ import { ExtHostLogServiceShape } from 'vs/workbench/api/node/extHost.protocol'; export class ExtHostLogService extends DelegatedLogService implements ILogService, ExtHostLogServiceShape { - private _loggers: Map = new Map(); - constructor( private _windowId: number, logLevel: LogLevel, @@ -28,54 +25,7 @@ export class ExtHostLogService extends DelegatedLogService implements ILogServic this.setLevel(level); } - getExtLogger(extensionID: string): ExtHostLogger { - let logger = this._loggers.get(extensionID); - if (!logger) { - logger = this.createLogger(extensionID); - this._loggers.set(extensionID, logger); - } - return logger; - } - getLogDirectory(extensionID: string): string { return join(this._logsPath, `${extensionID}_${this._windowId}`); } - - private createLogger(extensionID: string): ExtHostLogger { - const logsDirPath = this.getLogDirectory(extensionID); - const logService = createSpdLogService(extensionID, this.getLevel(), logsDirPath); - this._register(this.onDidChangeLogLevel(level => logService.setLevel(level))); - return new ExtHostLogger(logService); - } -} - -export class ExtHostLogger implements vscode.Logger { - - constructor( - private readonly _logService: ILogService - ) { } - - trace(message: string, ...args: any[]): void { - return this._logService.trace(message, ...args); - } - - debug(message: string, ...args: any[]): void { - return this._logService.debug(message, ...args); - } - - info(message: string, ...args: any[]): void { - return this._logService.info(message, ...args); - } - - warn(message: string, ...args: any[]): void { - return this._logService.warn(message, ...args); - } - - error(message: string | Error, ...args: any[]): void { - return this._logService.error(message, ...args); - } - - critical(message: string | Error, ...args: any[]): void { - return this._logService.critical(message, ...args); - } }