New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

morgan-body

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

morgan-body

morgan logging req, res, and body

  • 2.4.8
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
15K
decreased by-6.73%
Maintainers
1
Weekly downloads
 
Created
Source

morgan-body

So frequently in Dexter and the "morgan" library, we are left wondering, where's the body?

Well, we've found it!
(for "morgan" library, not the show :P)

Here is logging the way you always wanted it to be!
Nicely colorized logging that includes Request and Response bodies.

(Now with Typescript support thanks to @francisbrito)

NPM

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();

// must parse body before morganBody as body will be logged
app.use(bodyParser.json());

// hook morganBody to express app
morganBody(app);
screen shot 2017-07-07 at 2 02 55 am *Note: console output is colorized for iTerm2, might look odd on terminals with other background colors

API

morganBody(<express instance>, <options object>)

Options are:

{
  noColors: (default: false), gets rid of colors in logs, while they're awesome, they don't look so good in log files as @rserentill pointed out

  maxBodyLength: (default: 1000), caps the length of the console output of a single request/response to specified length,

  prettify: (default: true), prettifies the JSON request/response body (may want to turn off for server logs),

  logReqDateTime: (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,

  skip: (default: null), optionally provide function of the signature "(req, res) => <bool>" to conditionally skip logging of requests (if provided function returns true),

  stream: (default: null), optionally provide a stream (or any object of the shape { write: <Function> }) to be used instead of "process.stdout" for logging to,

  theme: (default: 'defaultTheme'), alter the color scheme of your logger with a theme, see available themes below
}

Available Themes

Can be passed in as "theme" option, screenshots taken in iTerm2 (note that some text is not visible in some screenshots, this is because this text is colored non-intense black, it would show up on white-background terminals).

defaultTheme
screen shot 2018-06-30 at 11 40 31 pm
dracula
screen shot 2018-06-30 at 11 37 32 pm
usa
screen shot 2018-06-30 at 11 14 48 pm
inverted

reverse ASCII color of default screen shot 2018-07-01 at 12 03 57 am

darkened

no white (all colors rotated one away from white) screen shot 2018-06-30 at 11 24 42 pm

lightened

no black (all colors rotated one away from black) screen shot 2018-07-01 at 12 06 48 am

dimmed

only non-"intense" colors screen shot 2018-07-01 at 12 05 35 am

Keywords

FAQs

Package last updated on 22 Sep 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc