hmnayem
8/18/2019 - 3:32 AM

usemorgan

A simple setup for morgan

import morgan from 'morgan';
import { Request, Response, Application } from 'express';

const useMorgan = (app: Application): any => {
	/* log format string */
	const format = process.env.NODE_ENV === 'production' ? 'combined' : 'dev';
	/* log 400 and 500 errors to console as STDERR */
  app.use(
  	morgan(format, {
  		skip: (req: Request, res: Response) => {
  			return res.statusCode >= 400;
  		},
  		stream: process.stderr
  	})
  );
  
  /** log 200 and 300 requests to console as STDOUT */
  app.use(
  	morgan(format, {
  		skip: (req: Request, res: Response) => {
  			return res.statusCode < 400;
  		},
  		stream: process.stdout
  	})
  );
};

export default useMorgan