@nickjct/bunyan-request
v1.4.5
Published
Request, response logger middleware using bunyan. Also provides request<>response duration.
Downloads
4
Maintainers
Readme
bunyan-request
npm install bunyan-request --save
Request, response logger middleware for bunyan:
- log request as
req
- log response as
res
- log request<>response duration in milliseconds as
duration
- creates, use and forward to response the
x-request-id
request header: get it if present, create it otherwise (uuid.v4()) - log request id as
id
- provides
req.log
as an id-specialized logger for you to track your request in your entire application, every time you access therequest
object - compatible with pure http server, express, connect and any http middleware system
- uses standard bunyan serializers
- log
req.url
in response log, it is easy for support to identify which response is for which request. - option
passthroughLogHeaderNames
in javascript array for specifying a list request header to be logged in end request, the headers only for logging, won't sent to callers.
Here are the fields it creates, beautified with | bunyan
cli.
Install
npm install bunyan-request --save
Usage
var bunyan = require('bunyan');
var bunyanRequest = require('bunyan-request');
var express = require('express');
var app = express();
var logger = bunyan.createLogger({ name: 'My App' });
var requestLogger = bunyanRequest({
logger: logger,
headerName: 'x-request-id',
passthroughLogHeaderNames: []
});
app.use(requestLogger);
app.get('/', function (req, res) {
// now use `req.log` as your request-specialized bunyan logger
req.log.info('YO DAWG!');
res.send('ok');
});
x-request-id
Will use and forward x-request-id
(case insensitive) header when present.
Otherwise it will generate a uuid.v4() and add it to the response headers.
Example
npm run example
See example.
Test
npm test
Credits
First version by tellnes/bunyan-middleware.
License
MIT