From 2e45f55b10898990731701cc61e663740cd1fe33 Mon Sep 17 00:00:00 2001
From: Rob Lourens <roblourens@gmail.com>
Date: Thu, 8 Feb 2018 17:53:08 -0800
Subject: [PATCH 1/2] Promote extension log API to stable - Fix #43275

---
 src/vs/vscode.d.ts          | 34 ++++++++++++++++++++++++++++++++++
 src/vs/vscode.proposed.d.ts | 36 ------------------------------------
 2 files changed, 34 insertions(+), 36 deletions(-)

diff --git a/src/vs/vscode.d.ts b/src/vs/vscode.d.ts
index cfcb69a297598..3ccc5170adb20 100644
--- a/src/vs/vscode.d.ts
+++ b/src/vs/vscode.d.ts
@@ -4091,6 +4091,40 @@ declare module 'vscode' {
 		 * [`globalState`](#ExtensionContext.globalState) to store key value data.
 		 */
 		storagePath: string | undefined;
+
+		/**
+		 * This extension's logger
+		 */
+		logger: Logger;
+	}
+
+	/**
+	 * The severity level of a log message
+	 */
+	export enum LogLevel {
+		Trace = 1,
+		Debug = 2,
+		Info = 3,
+		Warning = 4,
+		Error = 5,
+		Critical = 6,
+		Off = 7
+	}
+
+	/**
+	 * A logger for writing to an extension's log file, and accessing its dedicated log directory.
+	 */
+	export interface Logger {
+		readonly onDidChangeLogLevel: Event<LogLevel>;
+		readonly currentLevel: LogLevel;
+		readonly logDirectory: Thenable<string>;
+
+		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;
 	}
 
 	/**
diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts
index 757a2d1433941..11c0db76db37b 100644
--- a/src/vs/vscode.proposed.d.ts
+++ b/src/vs/vscode.proposed.d.ts
@@ -395,42 +395,6 @@ declare module 'vscode' {
 		debugAdapterExecutable?(folder: WorkspaceFolder | undefined, token?: CancellationToken): ProviderResult<DebugAdapterExecutable>;
 	}
 
-	/**
-	 * The severity level of a log message
-	 */
-	export enum LogLevel {
-		Trace = 1,
-		Debug = 2,
-		Info = 3,
-		Warning = 4,
-		Error = 5,
-		Critical = 6,
-		Off = 7
-	}
-
-	/**
-	 * A logger for writing to an extension's log file, and accessing its dedicated log directory.
-	 */
-	export interface Logger {
-		readonly onDidChangeLogLevel: Event<LogLevel>;
-		readonly currentLevel: LogLevel;
-		readonly logDirectory: Thenable<string>;
-
-		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;
-	}
-
 	export interface RenameInitialValue {
 		range: Range;
 		text?: string;

From 1fd0f50e2556d20729ee3ef5074f263757e9a462 Mon Sep 17 00:00:00 2001
From: Rob Lourens <roblourens@gmail.com>
Date: Mon, 12 Feb 2018 16:34:26 -0800
Subject: [PATCH 2/2] Add comments for Logger methods

---
 src/vs/vscode.d.ts | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/vs/vscode.d.ts b/src/vs/vscode.d.ts
index 3ccc5170adb20..7eb22ccc70d39 100644
--- a/src/vs/vscode.d.ts
+++ b/src/vs/vscode.d.ts
@@ -4119,11 +4119,34 @@ declare module 'vscode' {
 		readonly currentLevel: LogLevel;
 		readonly logDirectory: Thenable<string>;
 
+		/**
+		 * Log a message with level `Trace`
+		 */
 		trace(message: string, ...args: any[]): void;
+
+		/**
+		 * Log a message with level `Debug`
+		 */
 		debug(message: string, ...args: any[]): void;
+
+		/**
+		 * Log a message with level `Info`
+		 */
 		info(message: string, ...args: any[]): void;
+
+		/**
+		 * Log a message with level `Warn`
+		 */
 		warn(message: string, ...args: any[]): void;
+
+		/**
+		 * Log a message with level `Error`
+		 */
 		error(message: string | Error, ...args: any[]): void;
+
+		/**
+		 * Log a message with level `Critical`
+		 */
 		critical(message: string | Error, ...args: any[]): void;
 	}