Package Exports
- express-bunyan-logger
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-bunyan-logger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Express-bunyan-logger
A express logger middleware powered by bunyan.
Installation
npm install express-bunyan-loggerUsage
To use the logger:
app.use(require('express-bunyan-logger')());To use the errorLogger:
app.use(require('express-bunyan-logger').errorLogger());And you can also pass bunyan logger options to the logger middleware:
app.use(require('express-bunyan-logger')({
name: 'logger',
streams: [{
level: 'info',
stream: process.stdout
}]
}));Change default format:
app.use(require('express-bunyan-logger')({
format: ":remote-address - :user-agent[major] custom logger"
});And a child logger will be attached to each request object:
app.use(require('express-bunyan-logger')();
app.use(function(req, res, next) {
req.log.debug('this is debug in middleware');
next();
});Configuration
options.format
Format string, please go the source code to the metadata. ":name" will print out meta.name; ":name[key]" will print out the property 'key' of meta.name.
Or you can pass a function to options.format. This function accept a object as argument and return string.
options.parseUA
Whether to parse user-agent in logger, default is =true=.
options.levelFn
Function that translate statusCode into log level.
function(status, err /* only will work in error logger */) {
// return string of level
return "info";
}options.excludes
Array of string, Those fields will be excluded from meta object which passed to bunyan
options.immediate
Write log line on request instead of response (for response times)
optiosn.genReqId
By default, express-bunyan-logger will generate an unique id for each request, and a field 'req_id' will be added to child logger in request object.
If you have already use other middleware/framework to generate request id, you can pass a function to retrieve it:
// suppose connect-requestid middleware is already added.
app.use(require('express-bunyan-logger')({
genReqId: function(req) {
return req.id;
}
});License
(The BSD License)
Copyright (c) 2013, Villa.Gao <jky239@gmail.com>;
