[express-winston] Add function type for options.msg (#35671)

* [express-winston] Add function type for options.msg

* Add tests
This commit is contained in:
Zhang Yi Jiang
2019-05-30 11:05:24 -07:00
committed by Sheetal Nandi
parent bd2ad6c783
commit ab40c6253d
2 changed files with 16 additions and 2 deletions

View File

@@ -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];

View File

@@ -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[];
}