diff --git a/types/express-winston/express-winston-tests.ts b/types/express-winston/express-winston-tests.ts index b64bce0b3e..7fd41cfd5c 100644 --- a/types/express-winston/express-winston-tests.ts +++ b/types/express-winston/express-winston-tests.ts @@ -14,7 +14,7 @@ app.use(expressWinston.logger({ expressFormat: true, ignoreRoute: (req, res) => true, ignoredRoutes: ['foo'], - level: 'level', + level: (req, res) => 'level', meta: true, metaField: 'metaField', msg: 'msg', @@ -49,7 +49,7 @@ app.use(expressWinston.logger({ app.use(expressWinston.errorLogger({ baseMeta: { foo: 'foo' }, dynamicMeta: (req, res, err) => ({ foo: 'bar' }), - level: 'level', + level: (req, res) => 'level', metaField: 'metaField', msg: 'msg', requestFilter: (req, prop) => true, diff --git a/types/express-winston/index.d.ts b/types/express-winston/index.d.ts index 920939abd6..6dac70c1b6 100644 --- a/types/express-winston/index.d.ts +++ b/types/express-winston/index.d.ts @@ -12,6 +12,7 @@ export interface MetaObject { } export type DynamicMetaFunction = (req: Request, res: Response, err: Error) => MetaObject | undefined; +export type DynamicLevelFunction = (req: Request, res: Response, err: Error) => string; export type RequestFilter = (req: Request, propName: string) => boolean; export type ResponseFilter = (res: Response, propName: string) => boolean; export type RouteFilter = (req: Request, res: Response) => boolean; @@ -25,7 +26,7 @@ export interface BaseLoggerOptions { expressFormat?: boolean; ignoreRoute?: RouteFilter; ignoredRoutes?: string[]; - level?: string; + level?: string | DynamicLevelFunction; meta?: boolean; metaField?: string; msg?: string; @@ -56,7 +57,7 @@ export function logger(options: LoggerOptions): Handler; export interface BaseErrorLoggerOptions { baseMeta?: MetaObject; dynamicMeta?: DynamicMetaFunction; - level?: string; + level?: string | DynamicLevelFunction; metaField?: string; msg?: string; requestFilter?: RequestFilter;