2013-12-09 3 views
19

Может ли кто-нибудь предоставить пример того, как настроить sails.js для входа в файл?sails logging to file

Кажется, что это должно быть просто, но у меня проблемы с поиском примеров в Интернете.

Я ищу изменения в файлах config/log.js или config/sockets.js.

ответ

30

Согласно the source code, для v0.9.x, вы просто должны установить filePath в вашем config/log.js:

module.exports = { 
    log: { 
    level: 'info', 
    filePath: 'application.log' 
    } 
}; 
+1

Спасибо ... Я понял это вскоре после публикации этого вопроса и чтение исходного кода, а также , К сожалению, не слишком хорошо документировано. Забыл обновить этот вопрос. Пометка как правильная! :) Благодаря! – rcheuk

+0

Спасибо за ссылку на соответствующий файл в исходном коде! –

+0

Есть ли способ получить доступ к моим файлам logger в config/log.js? – Mahahari

18

Logging в файл не работает из коробки. Вы должны вызвать функциональность в библиотеках на два уровня вниз. См. Документацию для winston.

первой установки Winston так:

$ npm install winston 

Затем отрегулируйте config/log.js выглядеть следующим образом

var winston = require('winston'); 

/*see the documentation for Winston: https://github.com/flatiron/winston */ 
var logger = new(winston.Logger)({ 
    transports: [ 
    new (winston.transports.Console)({}), 
    new (winston.transports.File)({ 
     filename: 'logfile.log', 
     level: 'verbose', 
     json: false, 
     colorize: false 
    }) 
    ] 
}); 

module.exports.log = { 
    /*************************************************************************** 
    *                   * 
    * Valid `level` configs: i.e. the minimum log level to capture with  * 
    * sails.log.*()               * 
    *                   * 
    * The order of precedence for log levels from lowest to highest is:  * 
    * silly, verbose, info, debug, warn, error         * 
    *                   * 
    * You may also set the level to "silent" to suppress all logs.    * 
    *                   * 
    ***************************************************************************/ 

    level: 'silly', 
    colorize: false, 
    custom: logger 
}; 
+0

Я буду принимать это в качестве нового правильного ответа, если его хватит. Я не активно использую паруса, поэтому я не могу ручаться за это в это время. – rcheuk

+0

Этот ответ хорошо работает по моему приложению –

+0

Мне нужно было навести на нюм установку winston для этого. Более того, я не вижу никаких подключений, которые регистрируются (но это может быть другая тема) –