you can add a middleware to you app which adds a bunyan child logger to each request with some unique id (probably uuid
)
here is some sample code to attach a logger to each request with unique id,
whenever you will print something using this logger, this uuid will also be printed automatically so you can trace each request using this id
var bunyan = require('bunyan');
var uuid = require('uuid');
var logger = bunyan.createLogger({name: 'some name'});
function loadlogger(req, res, next) {
req.log = logger.child({request_id: uuid.v4()});
next()
}
app.use(loadLogger);
and you can log when ever you want as follow
req.log.info({keys: values}, "message");
req.log.warn({keys: values}, "message");
req.log.error({keys: values}, "message");
You can refer to complete documentation bunyan logger