Socket
Socket
Sign inDemoInstall

morgan

Package Overview
Dependencies
8
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.9.1 to 1.10.0

13

HISTORY.md

@@ -0,1 +1,14 @@

1.10.0 / 2020-03-20
===================
* Add `:total-time` token
* Fix trailing space in colored status code for `dev` format
* deps: basic-auth@~2.0.1
- deps: safe-buffer@5.1.2
* deps: depd@~2.0.0
- Replace internal `eval` usage with `Function` constructor
- Use instance methods on `process` to check for listeners
* deps: on-headers@~1.0.2
- Fix `res.writeHead` patch missing return value
1.9.1 / 2018-09-10

@@ -2,0 +15,0 @@ ==================

26

index.js

@@ -202,3 +202,3 @@ /*!

fn = developmentFormatLine[color] = compile('\x1b[0m:method :url \x1b[' +
color + 'm:status \x1b[0m:response-time ms - :res[content-length]\x1b[0m')
color + 'm:status\x1b[0m :response-time ms - :res[content-length]\x1b[0m')
}

@@ -244,2 +244,22 @@

/**
* total time in milliseconds
*/
morgan.token('total-time', function getTotalTimeToken (req, res, digits) {
if (!req._startAt || !res._startAt) {
// missing request and/or response start time
return
}
// time elapsed from request start
var elapsed = process.hrtime(req._startAt)
// cover to milliseconds
var ms = (elapsed[0] * 1e3) + (elapsed[1] * 1e-6)
// return truncated value
return ms.toFixed(digits === undefined ? 3 : digits)
})
/**
* current date

@@ -276,3 +296,3 @@ */

morgan.token('referrer', function getReferrerToken (req) {
return req.headers['referer'] || req.headers['referrer']
return req.headers.referer || req.headers.referrer
})

@@ -484,2 +504,3 @@

function headersSent (res) {
// istanbul ignore next: node.js 0.8 support
return typeof res.headersSent !== 'boolean'

@@ -501,2 +522,3 @@ ? Boolean(res._header)

// istanbul ignore next: num is current datetime
return (str.length === 1 ? '0' : '') + str

@@ -503,0 +525,0 @@ }

32

package.json
{
"name": "morgan",
"description": "HTTP request logger middleware for node.js",
"version": "1.9.1",
"version": "1.10.0",
"contributors": [

@@ -18,20 +18,20 @@ "Douglas Christopher Wilson <doug@somethingdoug.com>",

"dependencies": {
"basic-auth": "~2.0.0",
"basic-auth": "~2.0.1",
"debug": "2.6.9",
"depd": "~1.1.2",
"depd": "~2.0.0",
"on-finished": "~2.3.0",
"on-headers": "~1.0.1"
"on-headers": "~1.0.2"
},
"devDependencies": {
"eslint": "5.5.0",
"eslint-config-standard": "12.0.0",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-markdown": "1.0.0-beta.6",
"eslint-plugin-node": "7.0.1",
"eslint-plugin-promise": "4.0.1",
"eslint-plugin-standard": "4.0.0",
"istanbul": "0.4.5",
"mocha": "2.5.3",
"eslint": "6.8.0",
"eslint-config-standard": "14.1.0",
"eslint-plugin-import": "2.20.1",
"eslint-plugin-markdown": "1.0.2",
"eslint-plugin-node": "9.2.0",
"eslint-plugin-promise": "4.2.1",
"eslint-plugin-standard": "4.0.1",
"mocha": "7.1.1",
"nyc": "15.0.0",
"split": "1.0.1",
"supertest": "1.1.0"
"supertest": "4.0.2"
},

@@ -50,5 +50,5 @@ "files": [

"test": "mocha --check-leaks --reporter spec --bail",
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot",
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec"
"test-ci": "nyc --reporter=text npm test",
"test-cov": "nyc --reporter=html --reporter=text npm test"
}
}
# morgan
[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]
[![NPM Version][npm-version-image]][npm-url]
[![NPM Downloads][npm-downloads-image]][npm-url]
[![Build Status][travis-image]][travis-url]

@@ -114,4 +114,5 @@ [![Test Coverage][coveralls-image]][coveralls-url]

Concise output colored by response status for development use. The `:status`
token will be colored red for server error codes, yellow for client error
codes, cyan for redirection codes, and uncolored for all other codes.
token will be colored green for success codes, red for server error codes,
yellow for client error codes, cyan for redirection codes, and uncolored
for information codes.

@@ -215,2 +216,10 @@ ```

##### :total-time[digits]
The time between the request coming into `morgan` and when the response
has finished being written out to the connection, in milliseconds.
The `digits` argument is a number that specifies the number of digits to
include on the number, defaulting to `3`, which provides microsecond precision.
##### :url

@@ -317,17 +326,12 @@

var express = require('express')
var fs = require('fs')
var morgan = require('morgan')
var path = require('path')
var rfs = require('rotating-file-stream')
var rfs = require('rotating-file-stream') // version 2.x
var app = express()
var logDirectory = path.join(__dirname, 'log')
// ensure log directory exists
fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory)
// create a rotating write stream
var accessLogStream = rfs('access.log', {
var accessLogStream = rfs.createStream('access.log', {
interval: '1d', // rotate daily
path: logDirectory
path: path.join(__dirname, 'log')
})

@@ -410,9 +414,8 @@

[npm-image]: https://img.shields.io/npm/v/morgan.svg
[coveralls-image]: https://badgen.net/coveralls/c/github/expressjs/morgan/master
[coveralls-url]: https://coveralls.io/r/expressjs/morgan?branch=master
[npm-downloads-image]: https://badgen.net/npm/dm/morgan
[npm-url]: https://npmjs.org/package/morgan
[travis-image]: https://img.shields.io/travis/expressjs/morgan/master.svg
[npm-version-image]: https://badgen.net/npm/v/morgan
[travis-image]: https://badgen.net/travis/expressjs/morgan/master
[travis-url]: https://travis-ci.org/expressjs/morgan
[coveralls-image]: https://img.shields.io/coveralls/expressjs/morgan/master.svg
[coveralls-url]: https://coveralls.io/r/expressjs/morgan?branch=master
[downloads-image]: https://img.shields.io/npm/dm/morgan.svg
[downloads-url]: https://npmjs.org/package/morgan
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc