- Provides a number of express log utilities that are formatted to work on stackdriver using fastest the logger in nodejs :) pino
- Add correlation ids to global log or parent log
- Logs should be in json
- Do not log to file, log to stdout and stderr
- Middleware to log on every request
- Redact sensitive information
- Middleware to log every error
- Logs should be formatted for Stackdriver
npm install express-stackdriver-pino
logs requests is formatted to match google stack driver HttpRequest format
const express = require('express');
const expressLogger = require('express-stackdriver-pino');
const app = express();
const options = {
serviceName: 'service-name',
}
const logger = expressLogger(options);
app.use(logger.reqResLogger())
Log errors are formatted to match Stackdriver
const express = require('express');
const expressLogger = require('express-stackdriver-logger');
const app = express();
const options = {
serviceName: 'service-name',
}
const logger = expressLogger(options)
app.use(logger.errorLogger())
The above also attaches a logger to req.log. This can be used in the controllers to log anything.
param | description |
---|---|
serviceName(required) | name of service |
enabled | Enable service or not eg. true or false |
destination | Destination for logs, it should be a WritableStream |
const express = require('express');
const expressLogger = require('express-stackdriver-logger');
const app = express();
const options = {
serviceName: 'service-name',
}
const logger = expressLogger(options)
app.use(logger.errorLogger())