Skip to content

Commit f71d27e

Browse files
Copilotpelikhan
andcommitted
Refactor debug logging to use logger instead of direct process.stderr
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
1 parent 0f7b70b commit f71d27e

10 files changed

+77
-42
lines changed

.github/aw/actions-lock.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@
2525
"version": "v5.0.2",
2626
"sha": "8b402f58fbc84540c8b491a91e594a4576fec3d7"
2727
},
28+
"actions/checkout@v5": {
29+
"repo": "actions/checkout",
30+
"version": "v5",
31+
"sha": "93cb6efe18208431cddfb8368fd83d5badbf9bfd"
32+
},
2833
"actions/checkout@v6.0.2": {
2934
"repo": "actions/checkout",
3035
"version": "v6.0.2",
@@ -35,11 +40,21 @@
3540
"version": "v3.0.0-beta.2",
3641
"sha": "bf559f85448f9380bcfa2899dbdc01eb5b37be3a"
3742
},
43+
"actions/download-artifact@v6": {
44+
"repo": "actions/download-artifact",
45+
"version": "v6",
46+
"sha": "018cc2cf5baa6db3ef3c5f8a56943fffe632ef53"
47+
},
3848
"actions/download-artifact@v7": {
3949
"repo": "actions/download-artifact",
4050
"version": "v7",
4151
"sha": "37930b1c2abaa49bbe596cd826c3c89aef350131"
4252
},
53+
"actions/github-script@v7": {
54+
"repo": "actions/github-script",
55+
"version": "v7",
56+
"sha": "f28e40c7f34bde8b3046d885e986cb6290c5673b"
57+
},
4358
"actions/github-script@v8": {
4459
"repo": "actions/github-script",
4560
"version": "v8",
@@ -125,6 +140,11 @@
125140
"version": "v4.32.0",
126141
"sha": "e6985fd516cce3b1a0e8db34a4013d2e50a1e252"
127142
},
143+
"github/stale-repos@v3": {
144+
"repo": "github/stale-repos",
145+
"version": "v3",
146+
"sha": "3477b6488008d9411aaf22a0924ec7c1f6a69980"
147+
},
128148
"github/stale-repos@v8.0.4": {
129149
"repo": "github/stale-repos",
130150
"version": "v8.0.4",
@@ -145,6 +165,11 @@
145165
"version": "v1.286.0",
146166
"sha": "90be1154f987f4dc0fe0dd0feedac9e473aa4ba8"
147167
},
168+
"super-linter/super-linter@v8.2.1": {
169+
"repo": "super-linter/super-linter",
170+
"version": "v8.2.1",
171+
"sha": "2bdd90ed3262e023ac84bf8fe35dc480721fc1f2"
172+
},
148173
"super-linter/super-linter@v8.3.2": {
149174
"repo": "super-linter/super-linter",
150175
"version": "v8.3.2",

.github/workflows/go-pattern-detector.lock.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/release.lock.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/stale-repo-identifier.lock.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/super-linter.lock.yml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/unbloat-docs.lock.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

actions/setup/js/mcp_http_transport.cjs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
// @ts-check
22
/// <reference types="@actions/github-script" />
33

4+
const { createLogger } = require("./mcp_logger.cjs");
5+
const moduleLogger = createLogger("mcp_http_transport");
6+
47
// Log immediately at module load time
5-
process.stderr.write("[mcp_http_transport] Module is being loaded\n");
8+
moduleLogger.debug("Module is being loaded");
69

710
/**
811
* MCP HTTP Transport Implementation
@@ -77,13 +80,14 @@ class MCPServer {
7780
* @param {any} transport - Transport instance (must have setServer and start methods)
7881
*/
7982
async connect(transport) {
80-
process.stderr.write("[MCPServer.connect] Starting connect...\n");
83+
const logger = createLogger("MCPServer");
84+
logger.debug("Starting connect...");
8185
this.transport = transport;
82-
process.stderr.write("[MCPServer.connect] Set transport\n");
86+
logger.debug("Set transport");
8387
transport.setServer(this);
84-
process.stderr.write("[MCPServer.connect] Called setServer\n");
88+
logger.debug("Called setServer");
8589
await transport.start();
86-
process.stderr.write("[MCPServer.connect] Transport.start() completed\n");
90+
logger.debug("Transport.start() completed");
8791
}
8892

8993
/**
@@ -133,12 +137,13 @@ class MCPHTTPTransport {
133137
* Start the transport
134138
*/
135139
async start() {
136-
process.stderr.write("[MCPHTTPTransport.start] Called, started=" + this.started + "\n");
140+
const logger = createLogger("MCPHTTPTransport");
141+
logger.debug(`Called, started=${this.started}`);
137142
if (this.started) {
138143
throw new Error("Transport already started");
139144
}
140145
this.started = true;
141-
process.stderr.write("[MCPHTTPTransport.start] Set started=true\n");
146+
logger.debug("Set started=true");
142147
}
143148

144149
/**

actions/setup/js/mcp_server_core.cjs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
// @ts-check
22
/// <reference types="@actions/github-script" />
33

4+
const { createLogger } = require("./mcp_logger.cjs");
5+
const moduleLogger = createLogger("mcp_server_core");
6+
47
// Log immediately at module load time
5-
process.stderr.write("[mcp_server_core] Module is being loaded\n");
8+
moduleLogger.debug("Module is being loaded");
69

710
/**
811
* MCP Server Core Module

actions/setup/js/safe-outputs-mcp-server.cjs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
// This is the main entry point script for the safe-outputs MCP server
66
// It starts the HTTP server on the configured port
77

8+
const { createLogger } = require("./mcp_logger.cjs");
9+
const logger = createLogger("safe-outputs-entry");
10+
811
// Log immediately to verify Node.js execution starts
9-
process.stderr.write("[safe-outputs-entry] Entry point script executing\n");
10-
console.error("[safe-outputs-entry] Console.error test - Node.js is running");
12+
logger.debug("Entry point script executing");
1113

1214
const { startHttpServer } = require("./safe_outputs_mcp_server_http.cjs");
1315

14-
process.stderr.write("[safe-outputs-entry] Successfully required safe_outputs_mcp_server_http.cjs\n");
16+
logger.debug("Successfully required safe_outputs_mcp_server_http.cjs");
1517

1618
// Start the HTTP server
1719
// The server reads configuration from /opt/gh-aw/safeoutputs/config.json
@@ -24,19 +26,18 @@ process.stderr.write("[safe-outputs-entry] Successfully required safe_outputs_mc
2426
// the MCP gateway doesn't perform the MCP protocol initialization handshake.
2527
// It directly calls methods like tools/list without the Mcp-Session-Id header.
2628
if (require.main === module) {
27-
process.stderr.write("[safe-outputs-entry] In require.main === module block\n");
29+
logger.debug("In require.main === module block");
2830
const port = parseInt(process.env.GH_AW_SAFE_OUTPUTS_PORT || "3001", 10);
2931
const logDir = process.env.GH_AW_MCP_LOG_DIR;
30-
process.stderr.write(`[safe-outputs-entry] Port: ${port}, LogDir: ${logDir}\n`);
31-
process.stderr.write("[safe-outputs-entry] Calling startHttpServer...\n");
32+
logger.debug(`Port: ${port}, LogDir: ${logDir}`);
33+
logger.debug("Calling startHttpServer...");
3234

3335
startHttpServer({ port, logDir, stateless: true }).catch(error => {
34-
console.error(`[safe-outputs-entry] Failed to start safe-outputs HTTP server: ${error.message}`);
35-
console.error(`[safe-outputs-entry] Error stack: ${error.stack}`);
36+
logger.debugError("Failed to start safe-outputs HTTP server: ", error);
3637
process.exit(1);
3738
});
3839

39-
process.stderr.write("[safe-outputs-entry] startHttpServer call initiated (async)\n");
40+
logger.debug("startHttpServer call initiated (async)");
4041
}
4142

4243
module.exports = { startHttpServer };

actions/setup/js/safe_outputs_mcp_server_http.cjs

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
// @ts-check
22
/// <reference types="@actions/github-script" />
33

4+
const { createLogger } = require("./mcp_logger.cjs");
5+
const moduleLogger = createLogger("safe_outputs_mcp_server_http");
6+
47
// Log immediately at module load time (before any requires)
5-
process.stderr.write("[safe_outputs_mcp_server_http] Module is being loaded\n");
8+
moduleLogger.debug("Module is being loaded");
69

710
/**
811
* Safe Outputs MCP Server with HTTP Transport
@@ -22,23 +25,23 @@ process.stderr.write("[safe_outputs_mcp_server_http] Module is being loaded\n");
2225
*/
2326

2427
const http = require("http");
25-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded http\n");
28+
moduleLogger.debug("Loaded http");
2629
const { randomUUID } = require("crypto");
27-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded crypto\n");
30+
moduleLogger.debug("Loaded crypto");
2831
const { MCPServer, MCPHTTPTransport } = require("./mcp_http_transport.cjs");
29-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded mcp_http_transport.cjs\n");
30-
const { createLogger } = require("./mcp_logger.cjs");
31-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded mcp_logger.cjs\n");
32+
moduleLogger.debug("Loaded mcp_http_transport.cjs");
33+
const { createLogger: createMCPLogger } = require("./mcp_logger.cjs");
34+
moduleLogger.debug("Loaded mcp_logger.cjs");
3235
const { bootstrapSafeOutputsServer, cleanupConfigFile } = require("./safe_outputs_bootstrap.cjs");
33-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded safe_outputs_bootstrap.cjs\n");
36+
moduleLogger.debug("Loaded safe_outputs_bootstrap.cjs");
3437
const { createAppendFunction } = require("./safe_outputs_append.cjs");
35-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded safe_outputs_append.cjs\n");
38+
moduleLogger.debug("Loaded safe_outputs_append.cjs");
3639
const { createHandlers } = require("./safe_outputs_handlers.cjs");
37-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded safe_outputs_handlers.cjs\n");
40+
moduleLogger.debug("Loaded safe_outputs_handlers.cjs");
3841
const { attachHandlers, registerPredefinedTools, registerDynamicTools } = require("./safe_outputs_tools_loader.cjs");
39-
process.stderr.write("[safe_outputs_mcp_server_http] Loaded safe_outputs_tools_loader.cjs\n");
42+
moduleLogger.debug("Loaded safe_outputs_tools_loader.cjs");
4043
const { getErrorMessage } = require("./error_helpers.cjs");
41-
process.stderr.write("[safe_outputs_mcp_server_http] All modules loaded successfully\n");
44+
moduleLogger.debug("All modules loaded successfully");
4245

4346
/**
4447
* Create and configure the MCP server with tools
@@ -48,7 +51,7 @@ process.stderr.write("[safe_outputs_mcp_server_http] All modules loaded successf
4851
*/
4952
function createMCPServer(options = {}) {
5053
// Create logger early
51-
const logger = createLogger("safeoutputs");
54+
const logger = createMCPLogger("safeoutputs");
5255

5356
logger.debug(`=== Creating MCP Server ===`);
5457

@@ -188,11 +191,9 @@ async function startHttpServer(options = {}) {
188191
const port = options.port || 3000;
189192
const stateless = options.stateless || false;
190193

191-
// Add immediate synchronous logging
192-
process.stderr.write(`[safe-outputs-startup] startHttpServer called with port=${port}, stateless=${stateless}\n`);
193-
194-
const logger = createLogger("safe-outputs-startup");
194+
const logger = createMCPLogger("safe-outputs-startup");
195195

196+
logger.debug(`startHttpServer called with port=${port}, stateless=${stateless}`);
196197
logger.debug(`=== Starting Safe Outputs MCP HTTP Server ===`);
197198
logger.debug(`Port: ${port}`);
198199
logger.debug(`Mode: ${stateless ? "stateless" : "stateful"}`);
@@ -222,9 +223,9 @@ async function startHttpServer(options = {}) {
222223

223224
// Connect server to transport
224225
logger.debug(`Connecting server to transport...`);
225-
process.stderr.write(`[safe-outputs-startup] About to call server.connect(transport)...\n`);
226+
logger.debug(`About to call server.connect(transport)...`);
226227
await server.connect(transport);
227-
process.stderr.write(`[safe-outputs-startup] server.connect(transport) completed successfully\n`);
228+
logger.debug(`server.connect(transport) completed successfully`);
228229
logger.debug(`Server connected to transport successfully`);
229230

230231
// Create HTTP server

0 commit comments

Comments
 (0)