2012-12-16 23 views
3

我將mongoose調試設置爲true。mongoose調試日誌到單獨的文件

mongoose.set(「調試」,真)

但現在的調試日誌在console.I打印需要指定貓鼬調試一個單獨的文件,這樣我可以檢查查詢需要。我該怎麼做?

回答

11

偉大的亞倫HECKMANN在Logging outbound queries

mongoose.set('debug', function (collectionName, method, query, doc [, options]) { 

    //save to file what you need 

}); 
+0

回答這個怎麼做貓鼬格​​式的日誌? IE我想用第二個選項讓winston登錄。我喜歡格式mongoose日誌,我會用相同的方式格式化我的日誌w/winston。 – lostintranslation

+0

這對我來說並不是很清楚,你在問什麼。至於上面的例子,你可以像這樣使用winston var winston = require('winston'); (調試',函數(collectionName,方法,查詢,文檔[,選項]){ winston.log('mongo',collectionName,arguments);' – maxwellium

+0

mongoose.set('debug ',true),產生很好的格式化輸出到控制檯。但我想記錄使用winston,並希望與貓鼬使用的格式相同,但我無法重現該格式。必須在代碼某處/ – lostintranslation

1

那麼,你可能必須打開一個文件句柄並將錯誤寫入該文件。

但對於短切,我要做的就是捕捉控制檯的所有輸出,並將其記錄到一個文件,當我開始我的應用程序:

node app.js 1>$APP_DIR/log/app.log 2>&1 & 

然後你可以尾巴日誌文件:

tail -f ./log/app.log