From ab40c6253da4e5839768560e18217e70a02cebb0 Mon Sep 17 00:00:00 2001 From: Zhang Yi Jiang Date: Thu, 30 May 2019 11:05:24 -0700 Subject: [PATCH] [express-winston] Add function type for options.msg (#35671) * [express-winston] Add function type for options.msg * Add tests --- types/express-winston/express-winston-tests.ts | 13 +++++++++++++ types/express-winston/index.d.ts | 5 +++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/types/express-winston/express-winston-tests.ts b/types/express-winston/express-winston-tests.ts index 5d48bdd897..285d6725e7 100644 --- a/types/express-winston/express-winston-tests.ts +++ b/types/express-winston/express-winston-tests.ts @@ -67,6 +67,19 @@ app.use(expressWinston.errorLogger({ winstonInstance: logger, })); +// Request and error logger with function type msg +app.use(expressWinston.logger({ + msg: (req, res) => `HTTP ${req.method} ${req.url} - ${res.statusCode}`, + transports: [ + new winston.transports.Console({}) + ], +})); + +app.use(expressWinston.errorLogger({ + msg: (req, res) => `HTTP ${req.method} ${req.url} - ${res.statusCode}`, + winstonInstance: logger, +})); + expressWinston.bodyBlacklist.push('potato'); expressWinston.bodyWhitelist.push('apple'); expressWinston.defaultRequestFilter = (req: expressWinston.FilterRequest, prop: string) => req[prop]; diff --git a/types/express-winston/index.d.ts b/types/express-winston/index.d.ts index f7ae04319b..1d9c42355f 100644 --- a/types/express-winston/index.d.ts +++ b/types/express-winston/index.d.ts @@ -21,6 +21,7 @@ export type DynamicLevelFunction = (req: Request, res: Response, err: Error) => export type RequestFilter = (req: FilterRequest, propName: string) => any; export type ResponseFilter = (res: FilterResponse, propName: string) => any; export type RouteFilter = (req: Request, res: Response) => boolean; +export type MessageTemplate = string | ((req: Request, res: Response) => string); export interface BaseLoggerOptions { baseMeta?: object; @@ -34,7 +35,7 @@ export interface BaseLoggerOptions { level?: string | DynamicLevelFunction; meta?: boolean; metaField?: string; - msg?: string; + msg?: MessageTemplate; requestFilter?: RequestFilter; requestWhitelist?: string[]; responseFilter?: ResponseFilter; @@ -64,7 +65,7 @@ export interface BaseErrorLoggerOptions { dynamicMeta?: DynamicMetaFunction; level?: string | DynamicLevelFunction; metaField?: string; - msg?: string; + msg?: MessageTemplate; requestFilter?: RequestFilter; requestWhitelist?: string[]; }