gpt4 book ai didi

node.js - 使用 winston-mongodb 和 express-winston 进行日志记录

转载 作者:IT老高 更新时间:2023-10-28 13:35:48 26 4
gpt4 key购买 nike

我正在尝试使用 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);

最后,我面临两个问题;

  1. 在我的 Mongo 集合中为每个请求/响应创建一个新条目,但它们是空的,如下所示 enter image description here

  2. 即使创建了条目,我也遇到了异常;

    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日志函数有不同的参数(info作为要登录到mongo数据库的元对象,cb是如果你想查看日志操作后的结果的回调函数在 mongo 上完成)

解决方案:安装winston-mongodb包,版本号为3.0.0

npm install winston-mongodb@3.0.0 --save

引用 github 问题 cb is not a function

关于node.js - 使用 winston-mongodb 和 express-winston 进行日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48202738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com