2015-06-30 3 views
1

В файле конфигурация/log.js для парусов этого мой код:Использования Winston и Моргана войти паруса

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 

}; 

Я пытаюсь использовать Морган вместе с Уинстоном, чтобы войти все HTTP-запросы. Я нашел пример онлайн, который сказал сделать это таким образом, и это имеет смысл для меня, но по какой-то причине мой файл журнала не показывает ни одного из выполненных запросов. Часть winston прекрасна, поскольку она регистрирует всю информацию, которая должна быть, но я не знаю, как заставить morgan работать с winston. Любые советы или предложения? Благодаря!

ответ

3

Morgan - это распространенное промежуточное ПО, поэтому его следует загружать как обычное промежуточное программное обеспечение для Sails. Для этого добавить в config/http.js:

customMiddleware: function(app) { 
    app.use(require('morgan')("combined", {"stream": sails.config.log.custom.stream})); 
} 
+0

Это замечательно! Благодаря! – harisreeram