Skip to content

Commit db34a33

Browse files
chore: adapt logger changes
1 parent a3f9e8e commit db34a33

File tree

4 files changed

+57
-51
lines changed

4 files changed

+57
-51
lines changed

src/common/session.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export class Session extends EventEmitter<SessionEvents> {
6363
: undefined;
6464

6565
this.apiClient = new ApiClient({ baseUrl: apiBaseUrl, credentials }, logger);
66-
this.exportsManager = new SessionExportsManager(this.sessionId, exportsManagerConfig ?? config);
66+
this.exportsManager = new SessionExportsManager(this.sessionId, exportsManagerConfig ?? config, logger);
6767

6868
this.connectionManager = connectionManager ?? new ConnectionManager();
6969
this.connectionManager.on("connection-succeeded", () => this.emit("connect"));

src/common/sessionExportsManager.ts

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { Transform } from "stream";
99
import { pipeline } from "stream/promises";
1010

1111
import { UserConfig } from "./config.js";
12-
import logger, { LogId } from "./logger.js";
12+
import { LoggerBase, LogId } from "./logger.js";
1313

1414
export const jsonExportFormat = z.enum(["relaxed", "canonical"]);
1515
export type JSONExportFormat = z.infer<typeof jsonExportFormat>;
@@ -38,8 +38,9 @@ export class SessionExportsManager extends EventEmitter<SessionExportsManagerEve
3838
private exportsDirectoryPath: string;
3939

4040
constructor(
41-
private readonly sessionId: string,
42-
private readonly config: SessionExportsManagerConfig
41+
readonly sessionId: string,
42+
private readonly config: SessionExportsManagerConfig,
43+
private readonly logger: LoggerBase
4344
) {
4445
super();
4546
this.exportsDirectoryPath = path.join(this.config.exportsPath, sessionId);
@@ -54,11 +55,11 @@ export class SessionExportsManager extends EventEmitter<SessionExportsManagerEve
5455
clearInterval(this.exportsCleanupInterval);
5556
await fs.rm(this.exportsDirectoryPath, { force: true, recursive: true });
5657
} catch (error) {
57-
logger.error(
58-
LogId.exportCloseError,
59-
"Error while closing SessionExportManager",
60-
error instanceof Error ? error.message : String(error)
61-
);
58+
this.logger.error({
59+
id: LogId.exportCloseError,
60+
context: "Error while closing SessionExportManager",
61+
message: error instanceof Error ? error.message : String(error),
62+
});
6263
}
6364
}
6465

@@ -90,11 +91,11 @@ export class SessionExportsManager extends EventEmitter<SessionExportsManagerEve
9091
content: await fs.readFile(exportPath, "utf8"),
9192
};
9293
} catch (error) {
93-
logger.error(
94-
LogId.exportReadError,
95-
"Error when reading export",
96-
error instanceof Error ? error.message : String(error)
97-
);
94+
this.logger.error({
95+
id: LogId.exportReadError,
96+
context: "Error when reading export",
97+
message: error instanceof Error ? error.message : String(error),
98+
});
9899
if ((error as NodeJS.ErrnoException).code === "ENOENT") {
99100
throw new Error("Requested export does not exist!");
100101
}
@@ -137,11 +138,11 @@ export class SessionExportsManager extends EventEmitter<SessionExportsManagerEve
137138
// partial and incorrect export so we remove it entirely.
138139
await fs.unlink(exportFilePath).catch((error) => {
139140
if ((error as NodeJS.ErrnoException).code !== "ENOENT") {
140-
logger.error(
141-
LogId.exportCreationCleanupError,
142-
"Error when removing partial export",
143-
error instanceof Error ? error.message : String(error)
144-
);
141+
this.logger.error({
142+
id: LogId.exportCreationCleanupError,
143+
context: "Error when removing partial export",
144+
message: error instanceof Error ? error.message : String(error),
145+
});
145146
}
146147
});
147148
throw pipelineError;
@@ -158,11 +159,11 @@ export class SessionExportsManager extends EventEmitter<SessionExportsManagerEve
158159
}
159160
}
160161
} catch (error) {
161-
logger.error(
162-
LogId.exportCreationError,
163-
"Error when generating JSON export",
164-
error instanceof Error ? error.message : String(error)
165-
);
162+
this.logger.error({
163+
id: LogId.exportCreationError,
164+
context: "Error when generating JSON export",
165+
message: error instanceof Error ? error.message : String(error),
166+
});
166167
throw error;
167168
}
168169
}
@@ -218,11 +219,11 @@ export class SessionExportsManager extends EventEmitter<SessionExportsManagerEve
218219
}
219220
}
220221
} catch (error) {
221-
logger.error(
222-
LogId.exportCleanupError,
223-
"Error when cleaning up exports",
224-
error instanceof Error ? error.message : String(error)
225-
);
222+
this.logger.error({
223+
id: LogId.exportCleanupError,
224+
context: "Error when cleaning up exports",
225+
message: error instanceof Error ? error.message : String(error),
226+
});
226227
} finally {
227228
this.exportsCleanupInProgress = false;
228229
}
@@ -236,11 +237,11 @@ export class SessionExportsManager extends EventEmitter<SessionExportsManagerEve
236237
// does not exist then we can safely ignore that error anything else
237238
// we need to flag.
238239
if ((error as NodeJS.ErrnoException).code !== "ENOENT") {
239-
logger.error(
240-
LogId.exportCleanupError,
241-
"Considerable error when removing export file",
242-
error instanceof Error ? error.message : String(error)
243-
);
240+
this.logger.error({
241+
id: LogId.exportCleanupError,
242+
context: "Considerable error when removing export file",
243+
message: error instanceof Error ? error.message : String(error),
244+
});
244245
}
245246
}
246247
}

src/resources/common/exportedData.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
ResourceTemplate,
66
} from "@modelcontextprotocol/sdk/server/mcp.js";
77
import { Server } from "../../server.js";
8-
import logger, { LogId } from "../../common/logger.js";
8+
import { LogId } from "../../common/logger.js";
99

1010
export class ExportedData {
1111
private readonly name = "exported-data";
@@ -57,11 +57,11 @@ export class ExportedData {
5757
})),
5858
};
5959
} catch (error) {
60-
logger.error(
61-
LogId.exportedDataListError,
62-
"Error when listing exported data resources",
63-
error instanceof Error ? error.message : String(error)
64-
);
60+
this.server.session.logger.error({
61+
id: LogId.exportedDataListError,
62+
context: "Error when listing exported data resources",
63+
message: error instanceof Error ? error.message : String(error),
64+
});
6565
return {
6666
resources: [],
6767
};
@@ -73,11 +73,11 @@ export class ExportedData {
7373
const sessionExports = this.server.session.exportsManager.listAvailableExports();
7474
return sessionExports.filter(({ name }) => name.startsWith(value)).map(({ name }) => name);
7575
} catch (error) {
76-
logger.error(
77-
LogId.exportedDataAutoCompleteError,
78-
"Error when autocompleting exported data",
79-
error instanceof Error ? error.message : String(error)
80-
);
76+
this.server.session.logger.error({
77+
id: LogId.exportedDataAutoCompleteError,
78+
context: "Error when autocompleting exported data",
79+
message: error instanceof Error ? error.message : String(error),
80+
});
8181
return [];
8282
}
8383
};

tests/unit/common/sessionExportsManager.test.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { Session } from "../../../src/common/session.js";
1616
import { ROOT_DIR } from "../../accuracy/sdk/constants.js";
1717
import { timeout } from "../../integration/helpers.js";
1818
import { EJSON, EJSONOptions } from "bson";
19+
import { CompositeLogger } from "../../../src/common/logger.js";
1920

2021
const exportsPath = path.join(ROOT_DIR, "tests", "tmp", "exports");
2122
const exportsManagerConfig: SessionExportsManagerConfig = {
@@ -76,7 +77,7 @@ describe("SessionExportsManager unit test", () => {
7677
await manager?.close();
7778
await fs.rm(exportsManagerConfig.exportsPath, { recursive: true, force: true });
7879
await fs.mkdir(exportsManagerConfig.exportsPath, { recursive: true });
79-
session = new Session({ apiBaseUrl: "" });
80+
session = new Session({ apiBaseUrl: "", logger: new CompositeLogger() });
8081
manager = session.exportsManager;
8182
});
8283

@@ -282,11 +283,15 @@ describe("SessionExportsManager unit test", () => {
282283

283284
it("should cleanup expired exports", async () => {
284285
const { exportName, exportPath, exportURI } = getExportNameAndPath(session.sessionId, Date.now());
285-
const manager = new SessionExportsManager(session.sessionId, {
286-
...exportsManagerConfig,
287-
exportTimeoutMs: 100,
288-
exportCleanupIntervalMs: 50,
289-
});
286+
const manager = new SessionExportsManager(
287+
session.sessionId,
288+
{
289+
...exportsManagerConfig,
290+
exportTimeoutMs: 100,
291+
exportCleanupIntervalMs: 50,
292+
},
293+
new CompositeLogger()
294+
);
290295
await manager.createJSONExport({
291296
input,
292297
exportName,

0 commit comments

Comments
 (0)