feat: make some of the WinstonLogger options optional

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2024-02-28 13:36:14 +01:00
parent 75b7d4e49b
commit a741126f15
2 changed files with 16 additions and 8 deletions
+3 -3
View File
@@ -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[];
}
```
@@ -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);
}