morgan-body
Logging the way you always wanted it to be!
Nicely colorized logging that includes Request and Response bodies.

Example Use
Note: unlike typical express middleware you must pass the actual app into the function
import morganBody from 'morgan-body';
import express from 'express';
import bodyParser from 'body-parser';
const app = express();
app.use(bodyParser.json());
morganBody(app);

*Note: console output is colorized for iTerm2, might look odd on terminals with other background colors
API
morganBody(<express instance>, <options object>)
Options are:
{
maxBodyLength: (default: 1000), caps the length of the console output of a single request/response to specified length,
logDateTime: (default: true), setting to false disables logging request date + time,
dateTimeFormat: (default: 'utc', available: ['edt', clf', 'iso', 'utc']), lets you specify dateTime format logged if "logDateTime" option is true (otherwise dateTime not logged anyways)
timezone: (default : server's local timezone), time will be logged in the specified timezone. e.g. "EST", "America/Los_Angeles", "Asia/Kolkata" (for Indian Standard Time), etc. Internally uses "momentjs" for interpreting the timezone, and if specified value is not understood by momentjs, falls back to using the local timezone. (Please have a look at the TZ column here for a lit of supported timezone strings: https://wikipedia.org/wiki/List_of_tz_database_time_zones#List).
logReqUserAgent: (default: true), setting to false disables logging request user agent,
logRequestBody: (default: true), setting to false disables logging request body,
logResponseBody: (default: true), setting to false disables logging response body
}