morgan
Advanced tools
Comparing version 1.9.1 to 1.10.0
@@ -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 @@ } |
{ | ||
"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 |
29706
429
418
+ Addeddepd@2.0.0(transitive)
- Removeddepd@1.1.2(transitive)
Updatedbasic-auth@~2.0.1
Updateddepd@~2.0.0
Updatedon-headers@~1.0.2