wappler-advanced-logger
Version:
This extension for Wappler provides advanced logging functionality using the [Pino](https://github.com/pinojs/pino) library, [Logtail](https://logtail.com) for log aggregation, and [Sentry](https://sentry.io) for error tracking. It allows you to log messa
31 lines (29 loc) • 895 B
JavaScript
const pinoHttp = require('pino-http');
const { logger: pinoLogger } = require('../modules/advanced-logger');
exports.handler = function(app) {
const httpLogger = pinoHttp({
logger: pinoLogger,
customLogLevel: function(res, err) {
if (res.statusCode >= 400) {
return 'error';
}
return 'debug';
},
serializers: {
req: function(req) {
return {
method: req.method,
url: req.url,
headers: {...req.headers },
remoteAddress: req.remoteAddress,
remotePort: req.remotePort
};
},
}
});
app.use((req, res, next) => {
const copiedReq = {...req, headers: {...req.headers } };
httpLogger(copiedReq, res);
next();
});
};