我正在尝试使用here所述的mongoose
函数以及旧mongo驱动程序here的教程中更改setCurrentLogger
控制台日志打印。我没有找到任何与mongoose
仅使用本机mongodb
驱动程序执行此操作的说明。
为了测试它,我只是尝试更改打印的msg
:
var mongoose = require('mongoose');
var MongoLogger = require('mongodb').Logger;
var MongooseLogger = mongoose.mongo.Logger;
MongoLogger.setCurrentLogger(function(msg, context) {
console.log('aaaaaa', context);
});
MongooseLogger.setCurrentLogger(function(msg, context) {
console.log('aaaaaa', context);
});
但它似乎不起作用,我仍然在控制台上获得完整的错误堆栈,而不是预期的aaaaaa
。
问题是,如何更改mongoose中的记录器功能,如为本机驱动程序描述的setCurrentLogger
功能
答案 0 :(得分:0)
除非您在连接后设置记录器,否则我发现它不起作用。您还需要设置日志级别:
const Mongoose = require('mongoose');
const Logger = Mongoose.mongo.Logger;
Mongoose.connect(uri);
Logger.setLevel('debug');
Logger.setCurrentLogger(function(message, context) {
console.log(message);
});