I'm trying to log request/response into MongoDB within NodeJS project using express-winston and winston-mongodb. Here is an example code that I worked so far;
const expressWinston = require('express-winston');
const winston = require('winston');
require('winston-mongodb').MongoDB;
const logger = expressWinston.logger({
transports: [
winston.add(winston.transports.MongoDB, {
db : 'something',
collection : 'something',
level : 'info',
capped : true
})
]
});
I'm exporting this logger and using it my index.js;
app.use(logger);
And at the end, I'm facing 2 problems;
A new entry is created in my Mongo collection for each request/response but they are empty as shown below
I got an exception even the entry is created;
TypeError: cb is not a function at logDb.collection.insertOne.then.catch.err (\node_modules\winston-mongodb\lib\winston-mongodb.js:213:7)
Here is the code block from winston-mongodb.js that causes the exception;
this.logDb.collection(this.collection).insertOne(entry).then(()=>{
console.error('55dddddrrr', {});
this.emit('logged');
**cb(null, true);**
})
I've been trying to solve this but couldn't came up with anything useful yet. Would appreciate any help on the issue.