Debugging mongoose调试日志到单独的文件

Debugging mongoose调试日志到单独的文件,debugging,node.js,express,mongoose,Debugging,Node.js,Express,Mongoose,我将mongoose调试设置为true mongoose.set('debug',true) 但现在调试日志正在控制台中打印。我需要为mongoose调试指定一个单独的文件,以便在需要时检查查询。我如何才能做到这一点 那么,您可能需要打开一个文件句柄并将错误写入该文件 但作为一条捷径,我要做的是捕获控制台的所有输出,并在启动应用程序时将其记录到一个文件中: node app.js 1>$APP_DIR/log/app.log 2>&1 & 然后可以跟踪日志文件: t

我将mongoose调试设置为true

mongoose.set('debug',true)


但现在调试日志正在控制台中打印。我需要为mongoose调试指定一个单独的文件,以便在需要时检查查询。我如何才能做到这一点

那么,您可能需要打开一个文件句柄并将错误写入该文件

但作为一条捷径,我要做的是捕获控制台的所有输出,并在启动应用程序时将其记录到一个文件中:

node app.js 1>$APP_DIR/log/app.log 2>&1 &
然后可以跟踪日志文件:

tail -f ./log/app.log

伟大的阿伦·赫克曼用一句话回答了这个问题


mongoose如何格式化日志?IE我想用第二个选项让温斯顿登录。我喜欢mongoose日志的格式,我会和winston用同样的方式格式化我的日志。我不太清楚,你在问什么。。对于上面的例子,您可以像这样使用winston
var winston=require('winston');set('debug',函数(collectionName,方法,查询,doc[,options]){winston.log('mongo',collectionName,arguments);})
mongoose.set('debug',true),生成格式良好的控制台输出。但是我想用winston来记录,我想要mongoose使用的格式,但是我不能复制这种格式。一定在代码里的某个地方/看看这里,
mongoose.set('debug', function (collectionName, method, query, doc [, options]) {

  //save to file what you need

});