Skip to content

Commit 3a30276

Browse files
committed
feat(mcp-server-integration): TF-28514: Modified: added mcp error logs to output channel
1 parent 3afd5e1 commit 3a30276

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
7171
context.subscriptions.push(new TerraformCloudFeature(context, reporter, tfcOutputChannel));
7272

7373
// Register MCP server feature
74-
context.subscriptions.push(new McpServerFeature(context, reporter));
74+
context.subscriptions.push(new McpServerFeature(context, reporter, outputChannel));
7575

7676
if (config('terraform').get<boolean>('languageServer.enable') === false) {
7777
reporter.sendTelemetryEvent('disabledTerraformLS');

src/features/mcpServer.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,21 @@ export class McpServerFeature {
2222
constructor(
2323
private context: vscode.ExtensionContext,
2424
private reporter: TelemetryReporter,
25+
private outputChannel: vscode.OutputChannel,
2526
) {
2627
this.activate();
2728
}
2829

30+
/**
31+
* Helper method to format and log error information
32+
*/
33+
private logError(message: string, error: unknown): void {
34+
this.outputChannel.appendLine(`${message}: ${String(error)}`);
35+
if (error instanceof Error && error.stack) {
36+
this.outputChannel.appendLine(`Stack trace: ${error.stack}`);
37+
}
38+
}
39+
2940
public activate(): void {
3041
try {
3142
if (!this.isMcpApiAvailable()) {
@@ -37,7 +48,7 @@ export class McpServerFeature {
3748
this.context.subscriptions.push(provider);
3849
}
3950
} catch (error) {
40-
console.error('Failed to register MCP server definition provider:', error);
51+
this.logError('Failed to register MCP server definition provider', error);
4152
// Don't throw - let the extension continue to work without MCP server
4253
}
4354
}
@@ -59,7 +70,7 @@ export class McpServerFeature {
5970
},
6071
});
6172
} catch (error) {
62-
console.error('Error registering MCP server provider:', error);
73+
this.logError('Error registering MCP server provider', error);
6374
return undefined;
6475
}
6576
}
@@ -82,7 +93,7 @@ export class McpServerFeature {
8293

8394
return [server];
8495
} catch (error) {
85-
console.error('Error providing MCP server definitions:', error);
96+
this.logError('Error providing MCP server definitions', error);
8697
return [];
8798
}
8899
}
@@ -98,7 +109,7 @@ export class McpServerFeature {
98109

99110
return true;
100111
} catch (error) {
101-
console.log(error);
112+
this.logError('Docker validation error', error);
102113
return false;
103114
}
104115
}
@@ -127,7 +138,7 @@ export class McpServerFeature {
127138
await execAsync('docker info', { timeout: 5000 });
128139
return true;
129140
} catch (error) {
130-
console.log('Docker daemon check failed:', error);
141+
this.logError('Docker daemon check failed', error);
131142
void vscode.window
132143
.showWarningMessage(
133144
'Docker is installed but not running. Please start Docker to use the Terraform MCP Server.',

0 commit comments

Comments
 (0)