2013-12-09 14 views
19

Czy ktoś może podać przykład konfiguracji sails.js do zalogowania się do pliku?żagle logowania do pliku

Wygląda na to, że powinno być proste, ale mam problem ze znalezieniem przykładów online.

Patrzę na zmiany w config/log.js lub config/pliki sockets.js.

Odpowiedz

30

Według the source code, dla v0.9.x, po prostu trzeba ustawić filePath w swojej config/log.js:

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

Dzięki ... Pomyślałem to się wkrótce po zaksięgowaniu na to pytanie i czytania kodu źródłowego, jak również . Niestety, nie za dobrze udokumentowane. Zapomniałem jednak zaktualizować to pytanie. Oznaczanie jako poprawne! :) Dzięki! – rcheuk

+0

Dzięki za link do odpowiedniego pliku w kodzie źródłowym! –

+0

Czy istnieje sposób dostępu do moich plików rejestratora w pliku config/log.js? – Mahahari

18

Rejestrowanie do pliku nie działa po wyjęciu z pudełka. Musisz wywołać funkcjonalność w bibliotekach na dwa poziomy w dół. Zobacz dokumentację winston.

najpierw zainstalować Winston tak:

$ npm install winston 

Następnie dostosuj config/log.js wyglądać następująco

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

Przyjmę to ponownie jako nową prawidłową odpowiedź, jeśli zdobędzie wystarczającą liczbę osób. Nie aktywnie używam żagli, więc nie mogę za to ręczyć. – rcheuk

+0

Ta odpowiedź działa dobrze na mojej aplikacji –

+0

Potrzebowałem npm zainstalować winston, aby to działało. Co więcej, nie widzę żadnych połączeń rejestrowanych (ale to może być inny temat). –