From 70ebc3eafe40aec761377907b7549501e3217bf9 Mon Sep 17 00:00:00 2001 From: Aditi Khare Date: Mon, 22 Jan 2024 10:11:39 -0500 Subject: [PATCH 1/2] Promisified stdio logger --- src/mongo_logger.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mongo_logger.ts b/src/mongo_logger.ts index 23f270bd4a3..659f789f021 100644 --- a/src/mongo_logger.ts +++ b/src/mongo_logger.ts @@ -1,5 +1,5 @@ import type { Writable } from 'stream'; -import { inspect } from 'util'; +import { inspect, promisify } from 'util'; import { type Document, EJSON, type EJSONOptions, type ObjectId } from './bson'; import type { CommandStartedEvent } from './cmap/command_monitoring_events'; @@ -217,10 +217,10 @@ export function createStdioLogger(stream: { write: NodeJS.WriteStream['write']; }): MongoDBLogWritable { return { - write: (log: Log): unknown => { + write: promisify((log: Log): unknown => { stream.write(inspect(log, { compact: true, breakLength: Infinity }), 'utf-8'); return; - } + }) }; } @@ -281,7 +281,7 @@ export interface Log extends Record { /** @internal */ export interface MongoDBLogWritable { - write(log: Log): void; + write(log: Log): PromiseLike | any; } function compareSeverity(s0: SeverityLevel, s1: SeverityLevel): 1 | 0 | -1 { From 5f737338fa12b72e6ac8815716f40d3349072879 Mon Sep 17 00:00:00 2001 From: Aditi Khare Date: Mon, 22 Jan 2024 15:36:35 -0500 Subject: [PATCH 2/2] Added callback --- src/mongo_logger.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mongo_logger.ts b/src/mongo_logger.ts index 659f789f021..f645cf9afb7 100644 --- a/src/mongo_logger.ts +++ b/src/mongo_logger.ts @@ -217,8 +217,8 @@ export function createStdioLogger(stream: { write: NodeJS.WriteStream['write']; }): MongoDBLogWritable { return { - write: promisify((log: Log): unknown => { - stream.write(inspect(log, { compact: true, breakLength: Infinity }), 'utf-8'); + write: promisify((log: Log, cb: () => void): unknown => { + stream.write(inspect(log, { compact: true, breakLength: Infinity }), 'utf-8', cb); return; }) };