在Sails的config / log.js文件中,这是我的代码:
var express = require("express");
var app = express();
var winston = require('winston');
var logger = new(winston.Logger)({
transports: [
new(winston.transports.File)({
level: 'info',
timestamp: true,
filename: './logFile.log',
handleExceptions: true,
json: true,
colorize: false
}),
new(winston.transports.Console)({
level: 'debug',
timestamp: true,
handleExceptions: true,
json: false,
colorize: true
})
],
exitOnError: false
});
logger.stream = {
write: function (message, encoding) {
logger.verbose(message);
}
};
app.use(require('morgan')("combined", {"stream": logger.stream}));
module.exports.log = {
level: 'info',
custom: logger
};
我正在尝试使用morgan和winston来记录所有HTTP请求。我在网上找到了一个说这样做的例子,这对我来说很有意义,但由于某些原因,我的日志文件没有显示任何请求。温斯顿部分很好,因为它记录了它应该是的所有信息,但我不知道如何让摩根与温斯顿合作。有什么建议或意见吗?谢谢!
答案 0 :(得分:3)
Morgan是一个快速中间件,所以它应该作为自定义中间件加载到Sails。 为此,请将以下内容添加到config / http.js:
customMiddleware: function(app) {
app.use(require('morgan')("combined", {"stream": sails.config.log.custom.stream}));
}