added logger for logging all kinds of requests with headers, body, ip and other data
This commit is contained in:
@@ -1,6 +1,19 @@
|
||||
const pino = require('pino');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const isDev = process.env.NODE_ENV !== 'production';
|
||||
|
||||
const logDir = path.join(__dirname, 'logs');
|
||||
if (!fs.existsSync(logDir)) {
|
||||
fs.mkdirSync(logDir);
|
||||
}
|
||||
|
||||
const requestLoggerStream = pino.destination({
|
||||
dest: path.join(logDir, 'requests.log'),
|
||||
sync: false,
|
||||
});
|
||||
|
||||
const logger = pino({
|
||||
transport: isDev
|
||||
? {
|
||||
@@ -15,8 +28,12 @@ const logger = pino({
|
||||
level: isDev ? 'debug' : 'info',
|
||||
});
|
||||
|
||||
const requestLogger = (req, _res, next) => {
|
||||
logger.info(`${req.method} ${req.url}`);
|
||||
next();
|
||||
};
|
||||
const requestLogger = pino(
|
||||
{
|
||||
level: 'info',
|
||||
base: null,
|
||||
},
|
||||
requestLoggerStream
|
||||
);
|
||||
|
||||
module.exports = { logger, requestLogger };
|
||||
|
Reference in New Issue
Block a user