From 3edfcaaeffa66cec5ced700f17c6dd7d9d424d44 Mon Sep 17 00:00:00 2001 From: Gilad Shoham Date: Tue, 7 Feb 2023 15:43:36 +0200 Subject: [PATCH] fix printing logs as json (#7012) --- src/logger/pino-logger.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/logger/pino-logger.ts b/src/logger/pino-logger.ts index b78b6856dea6..01f285527872 100644 --- a/src/logger/pino-logger.ts +++ b/src/logger/pino-logger.ts @@ -118,20 +118,29 @@ export function getPinoLoggerWithoutWorkers( }); const prettyStream = prettifier({ - ...(!jsonFormat ? prettyOptions : {}), + ...prettyOptions, destination: dest, sync: true, }); + const fileStream = jsonFormat ? dest : prettyStream; + + const destConsole = pino.destination({ + sync: true, // no choice here :( otherwise, it looses data especially when an error is thrown (although pino.final is used to flush) + }); + const prettyConsoleStream = prettifier({ - ...(!jsonFormat ? prettyOptionsConsole : {}), + ...prettyOptionsConsole, destination: 1, sync: true, }); - const pinoLogger = pino(loggerOptions, prettyStream); + const consoleStream = jsonFormat ? destConsole : prettyConsoleStream; + + + const pinoLogger = pino(loggerOptions, fileStream); - const pinoLoggerConsole = pino(loggerOptions, prettyConsoleStream); + const pinoLoggerConsole = pino(loggerOptions, consoleStream); return { pinoLogger, pinoLoggerConsole }; }