Merge pull request #23313 from backstage/blam/sane-config-defaults

backend-app-api: Make some arguments optional for `WinstonLogger.create`
This commit is contained in:
Ben Lambert
2024-03-12 13:44:41 +01:00
committed by GitHub
3 changed files with 21 additions and 8 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': patch
---
Provide some sane defaults for `WinstonLogger.create` making some of the arguments optional
+3 -3
View File
@@ -367,12 +367,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[];
}
```
@@ -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);
}