mongoose setCurrentLogger不起作用

时间:2016-11-02 13:31:26

标签: node.js mongodb mongoose

我正在尝试使用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功能

1 个答案:

答案 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);
});