【发布时间】:2018-06-20 12:39:32
【问题描述】:
我正在尝试使用 express-winston 和 winston-mongodb 将请求/响应记录到 NodeJS 项目中的 MongoDB。这是我到目前为止工作的示例代码;
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
})
]
});
我正在导出这个记录器并在我的 index.js 中使用它;
app.use(logger);
最后,我面临两个问题;
-
即使创建了条目,我也遇到了异常;
TypeError: cb 不是函数 在 logDb.collection.insertOne.then.catch.err (\node_modules\winston-mongodb\lib\winston-mongodb.js:213:7)
这是来自 winston-mongodb.js 的导致异常的代码块;
this.logDb.collection(this.collection).insertOne(entry).then(()=>{
console.error('55dddddrrr', {});
this.emit('logged');
**cb(null, true);**
})
我一直在尝试解决这个问题,但还没有想出任何有用的东西。非常感谢您对此问题的任何帮助。
【问题讨论】:
-
我在尝试将
winston-mongodb与meteor一起使用时遇到了同样的问题——所有内容都存储为null。但这一切都以正确的级别和元数据正确打印到console- 你也一样吗?
标签: node.js mongodb express winston