From e9b5a89534029b54a0cfc2117abed85ecd9157bf Mon Sep 17 00:00:00 2001 From: Andrea Gueugnaut Date: Thu, 27 Jun 2024 10:24:53 +0200 Subject: [PATCH] fix(utils): prettify logs in development and leave as JSON in production --- packages/utils/src/logger.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/utils/src/logger.ts b/packages/utils/src/logger.ts index 9d4e13ed2..819af54fd 100644 --- a/packages/utils/src/logger.ts +++ b/packages/utils/src/logger.ts @@ -1,4 +1,4 @@ -import pino from 'pino'; +import pino, { LoggerOptions as PinoLoggerOptions } from 'pino'; import { LogLevel } from './log-level'; interface LoggerOptions { @@ -22,12 +22,15 @@ export interface Logger { export function createLogger(name: string, opts: LoggerOptions): Logger { const level = opts.level ?? LogLevel.DEBUG; - const logger = pino({ + const developmentOptions: PinoLoggerOptions = { transport: { - target: 'pino-pretty', - }, + target: 'pino-pretty' + } + }; + const logger = pino({ + ...(opts.isProduction ? {} : developmentOptions), name, - level, + level }); return { @@ -35,7 +38,7 @@ export function createLogger(name: string, opts: LoggerOptions): Logger { debug: toPinoLogFn(logger.debug.bind(logger)), info: toPinoLogFn(logger.info.bind(logger)), warn: toPinoLogFn(logger.warn.bind(logger)), - error: toPinoLogFn(logger.error.bind(logger)), + error: toPinoLogFn(logger.error.bind(logger)) }; }