You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

morgan

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

morgan - npm Package Compare versions

Comparing version

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