From a741126f15a8b38e21cfacf76e3e9f1526692ad6 Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 28 Feb 2024 13:36:14 +0100 Subject: [PATCH 1/3] feat: make some of the WinstonLogger options optional Signed-off-by: blam --- packages/backend-app-api/api-report.md | 6 +++--- .../src/logging/WinstonLogger.ts | 18 +++++++++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/backend-app-api/api-report.md b/packages/backend-app-api/api-report.md index 52780c6729..128b303aed 100644 --- a/packages/backend-app-api/api-report.md +++ b/packages/backend-app-api/api-report.md @@ -365,12 +365,12 @@ export class WinstonLogger implements RootLoggerService { // @public (undocumented) export interface WinstonLoggerOptions { // (undocumented) - format: Format; + format?: Format; // (undocumented) - level: string; + level?: string; // (undocumented) meta?: JsonObject; // (undocumented) - transports: transport[]; + transports?: transport[]; } ``` diff --git a/packages/backend-app-api/src/logging/WinstonLogger.ts b/packages/backend-app-api/src/logging/WinstonLogger.ts index 7dd0ed80b0..65b9b8981a 100644 --- a/packages/backend-app-api/src/logging/WinstonLogger.ts +++ b/packages/backend-app-api/src/logging/WinstonLogger.ts @@ -34,9 +34,9 @@ import { escapeRegExp } from '../lib/escapeRegExp'; */ export interface WinstonLoggerOptions { meta?: JsonObject; - level: string; - format: Format; - transports: Transport[]; + level?: string; + format?: Format; + transports?: Transport[]; } /** @@ -53,12 +53,20 @@ export class WinstonLogger implements RootLoggerService { */ static create(options: WinstonLoggerOptions): WinstonLogger { const redacter = WinstonLogger.redacter(); + const defaultFormatter = + process.env.NODE_ENV === 'production' + ? format.json() + : WinstonLogger.colorFormat(); let logger = createLogger({ - level: options.level, - format: format.combine(redacter.format, options.format), + level: process.env.LOG_LEVEL ?? options.level ?? 'info', + format: format.combine( + redacter.format, + options.format ?? defaultFormatter, + ), transports: options.transports ?? new transports.Console(), }); + if (options.meta) { logger = logger.child(options.meta); } From 15fda447ee10e76c01d91278f6c7225c06cf2b41 Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 28 Feb 2024 13:37:03 +0100 Subject: [PATCH 2/3] chore: add changeset Signed-off-by: blam --- .changeset/long-kings-call.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/long-kings-call.md diff --git a/.changeset/long-kings-call.md b/.changeset/long-kings-call.md new file mode 100644 index 0000000000..14d57fc9ca --- /dev/null +++ b/.changeset/long-kings-call.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-app-api': patch +--- + +Provide some sane defaults for `WinstonLogger.create` making some of the arguments optional From 30a9a785830589bf3bd370686f93c1a88b368798 Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 12 Mar 2024 13:15:19 +0100 Subject: [PATCH 3/3] chore: remove nullish Signed-off-by: blam --- packages/backend-app-api/src/logging/WinstonLogger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend-app-api/src/logging/WinstonLogger.ts b/packages/backend-app-api/src/logging/WinstonLogger.ts index 65b9b8981a..8a3eb28100 100644 --- a/packages/backend-app-api/src/logging/WinstonLogger.ts +++ b/packages/backend-app-api/src/logging/WinstonLogger.ts @@ -59,7 +59,7 @@ export class WinstonLogger implements RootLoggerService { : WinstonLogger.colorFormat(); let logger = createLogger({ - level: process.env.LOG_LEVEL ?? options.level ?? 'info', + level: process.env.LOG_LEVEL || options.level || 'info', format: format.combine( redacter.format, options.format ?? defaultFormatter,