From dcb13bed20bf18423dab5d004e7b93621251ae7e Mon Sep 17 00:00:00 2001 From: nkomonen-amazon Date: Wed, 27 Nov 2024 13:58:24 -0500 Subject: [PATCH 1/3] refactor(logs): drop "Amazon Q Logs" channel and just have "Amazon Q" Problem We didn't have much use for the old "Amazon Q" channel in addition to "Amazon Q Logs". All the logs we used were in "Amazon Q Logs". Solution Now, just have the useful "Amazon Q Logs" channel. Signed-off-by: nkomonen-amazon --- packages/amazonq/src/extension.ts | 4 +--- packages/core/src/extension.ts | 2 +- packages/core/src/shared/logger/activation.ts | 8 +++++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/amazonq/src/extension.ts b/packages/amazonq/src/extension.ts index add823b5a9e..f5cc7274426 100644 --- a/packages/amazonq/src/extension.ts +++ b/packages/amazonq/src/extension.ts @@ -97,10 +97,8 @@ export async function activateAmazonQCommon(context: vscode.ExtensionContext, is globals.manifestPaths.endpoints = context.asAbsolutePath(join('resources', 'endpoints.json')) globals.regionProvider = RegionProvider.fromEndpointsProvider(makeEndpointsProvider()) - const qOutputChannel = vscode.window.createOutputChannel('Amazon Q', { log: true }) const qLogChannel = vscode.window.createOutputChannel('Amazon Q Logs', { log: true }) - await activateLogger(context, amazonQContextPrefix, qOutputChannel, qLogChannel) - globals.outputChannel = qOutputChannel + await activateLogger(context, amazonQContextPrefix, qLogChannel) globals.logOutputChannel = qLogChannel globals.loginManager = new LoginManager(globals.awsContext, new CredentialsStore()) diff --git a/packages/core/src/extension.ts b/packages/core/src/extension.ts index 3f1039fbba7..ef4131c6f26 100644 --- a/packages/core/src/extension.ts +++ b/packages/core/src/extension.ts @@ -89,7 +89,7 @@ export async function activateCommon( // Setup the logger const toolkitOutputChannel = vscode.window.createOutputChannel('AWS Toolkit', { log: true }) const toolkitLogChannel = vscode.window.createOutputChannel('AWS Toolkit Logs', { log: true }) - await activateLogger(context, contextPrefix, toolkitOutputChannel, toolkitLogChannel) + await activateLogger(context, contextPrefix, toolkitLogChannel, toolkitOutputChannel) globals.outputChannel = toolkitOutputChannel globals.logOutputChannel = toolkitLogChannel diff --git a/packages/core/src/shared/logger/activation.ts b/packages/core/src/shared/logger/activation.ts index ff3a8ad6076..1e82548ea91 100644 --- a/packages/core/src/shared/logger/activation.ts +++ b/packages/core/src/shared/logger/activation.ts @@ -17,12 +17,14 @@ import { isBeta } from '../vscode/env' /** * Activate Logger functionality for the extension. + * + * @param outputChannel optional output channel for less granular logs */ export async function activate( extensionContext: vscode.ExtensionContext, contextPrefix: string, - outputChannel: vscode.LogOutputChannel, - logChannel: vscode.LogOutputChannel + logChannel: vscode.LogOutputChannel, + outputChannel?: vscode.LogOutputChannel ): Promise { const settings = Settings.instance.getSection('aws') const devLogfile = settings.get('dev.logfile', '') @@ -52,7 +54,7 @@ export async function activate( setLogger( makeLogger({ logLevel: chanLogLevel, - outputChannels: [outputChannel, logChannel], + outputChannels: outputChannel ? [outputChannel, logChannel] : [logChannel], useConsoleLog: true, }), 'debugConsole' From 6a49b15957c07bdedbe438195a21b4eda470b484 Mon Sep 17 00:00:00 2001 From: nkomonen-amazon Date: Wed, 27 Nov 2024 14:33:09 -0500 Subject: [PATCH 2/3] add changelog item Signed-off-by: nkomonen-amazon --- .../Feature-fd23658e-ecc3-4d17-8944-240cbe24a7cc.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 packages/amazonq/.changes/next-release/Feature-fd23658e-ecc3-4d17-8944-240cbe24a7cc.json diff --git a/packages/amazonq/.changes/next-release/Feature-fd23658e-ecc3-4d17-8944-240cbe24a7cc.json b/packages/amazonq/.changes/next-release/Feature-fd23658e-ecc3-4d17-8944-240cbe24a7cc.json new file mode 100644 index 00000000000..c7df441d68b --- /dev/null +++ b/packages/amazonq/.changes/next-release/Feature-fd23658e-ecc3-4d17-8944-240cbe24a7cc.json @@ -0,0 +1,4 @@ +{ + "type": "Feature", + "description": "Amazon Q: Simplify log channel" +} From 642c1a57559adf4323a5b8a67184b130abe0baa4 Mon Sep 17 00:00:00 2001 From: nkomonen-amazon Date: Wed, 27 Nov 2024 17:14:32 -0500 Subject: [PATCH 3/3] log the language server to 'Amazon Q Logs' We want to have everything in one place. Signed-off-by: nkomonen-amazon --- packages/core/src/amazonq/lsp/lspClient.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/core/src/amazonq/lsp/lspClient.ts b/packages/core/src/amazonq/lsp/lspClient.ts index bfc88125abd..1060b832990 100644 --- a/packages/core/src/amazonq/lsp/lspClient.ts +++ b/packages/core/src/amazonq/lsp/lspClient.ts @@ -30,7 +30,7 @@ import { } from './types' import { Writable } from 'stream' import { CodeWhispererSettings } from '../../codewhisperer/util/codewhispererSettings' -import { fs, getLogger } from '../../shared' +import { fs, getLogger, globals } from '../../shared' const localize = nls.loadMessageBundle() @@ -201,6 +201,9 @@ export async function activate(extensionContext: ExtensionContext) { // this is used by LSP to determine index cache path, move to this folder so that when extension updates index is not deleted. extensionPath: path.join(fs.getUserHomeDir(), '.aws', 'amazonq', 'cache'), }, + // Log to the Amazon Q Logs so everything is in a single channel + // TODO: Add prefix to the language server logs so it is easier to search + outputChannel: globals.logOutputChannel, } // Create the language client and start the client.