javascript - 节点未按预期将错误消息记录到 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
解决方案
将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。
推荐阅读
- angular - PrimeNg 手风琴给出 ExpressionChangedAfterItHasBeenCheckedError
- keycloak - 如何备份正在运行的 keycloak 实例?
- hadoop-yarn - Apache Impala - 类似 YARN 的查询 CPU 利用率报告(在 Cloudera 上)
- ios - 使用导航显示地图视图?.push(mapView) 并没有看到任何弹出
- authentication - 在 auth0 中,客户端 ID 是给定应用程序所独有的,还是设备上运行的应用程序的给定实例所独有的?
- python - 无法使用带有 Python 3.7 的套接字嗅探接口 eth2
- php - PHP通过ID从Mysql中获取行数据
- javascript - 循环遍历对象并显示图像
- java - executeQuery() 返回空的 ResultSet
- javascript - Redux 表单字段级别验证在 Edge 中不起作用