首页 > 解决方案 > 节点未按预期将错误消息记录到 MongoDB

问题描述

我正在尝试使用“winston-mongodb”创建错误消息/日志,同时将其发送到我的数据库。在我的 MongoDB Compass 中,它按预期创建了一个日志文件夹,但其中没有数据。

这是我的代码:

index.js

require("winston-mongodb");

winston.add(new winston.transports.MongoDB({ db: "mongodb://localhost/vidly_node_js" }));

流派.js

router.get("/", async (req, res) => {
   throw new Error("Could not get the genres.");
   const genres = await Genre.find().sort("name");
   res.send(genres);
});

我应该得到这个:

在此处输入图像描述

但这就是我不断得到的:

在此处输入图像描述

我错过了什么???

此外,“抛出新错误(“无法获取流派。”)”正在使我的 get 函数中的代码“无法访问”。也许这就是原因?如果是这样,我需要做什么来修复它?因为它给了我一个错误,上面写着:

TypeError: common.clone is not a function

在此处输入图像描述

标签: javascriptnode.jsmongodbloggingwinston

解决方案


winston-mongodb包升级到版本 4+ 以使用最新版本winston

https://github.com/winstonjs/winston-mongodb/issues/108

Winston 3 和 mongodb 3 支持现在在 winston-mongodb 4.x 分支中。

winston-mongodb 3.0 与最新的 winston 不兼容

https://github.com/winstonjs/winston-mongodb/tree/v3.0.1

当前版本仅支持 mongodb 驱动程序版本 2.x。如果您想在 mongodb 版本 1.4.x 中使用 winston-mongodb,请使用 winston-mongodb <1.x。


推荐阅读