2014-07-02 31 views
6

Ich verwende derzeit Sails v0.10.0-rc7 und versuchte, die Konsolenprotokolle in eine Datei weiterzuleiten. Einige ältere Threads beschrieben eine Möglichkeit, dies zu tun, indem Sie die folgenden Zeilen in die config/log.js:Sail.js - Wie erstelle ich eine saubere Protokolldatei?

module.exports = { 
    log: { 
     level: 'info', 
     filePath: 'someFile.log' 
    } 
}; 

Aber das scheint nicht mehr zu funktionieren. Sails verwendet das Teilprojekt captains-log, das früher winston verkapselt hat. Nach dem README.md änderte ich die config/log.js zu:

var winston = require('winston'); 
module.exports = { 
    'log': { 
     'custom': new (winston.Logger)({ 
      'transports': [ 
       new (winston.transports.Console)({ 
        'level': 'info', 
        'colorize': true, 
        'timestamp': false, 
        'json': false 
       }), 
       new winston.transports.File({ 
        'level': 'debug', 
        'colorize': false, 
        'timestamp': true, 
        'json': true, 
        'filename': './logs/test.log', 
        'maxsize': 5120000, 
        'maxFiles': 3 
       }) 
      ] 
     }) 
    } 
}; 

Nun, das, aber die protokollierten Nachrichten immer einen farbigen Präfix im Nachrichtentext funktioniert. So ist die Ausgabe in der Konsole sieht aus wie

info: info: 
info: info: 
info: info: Sails    <| 
info: info: v0.10.0-rc7   |\ 
info: info:      /|.\ 
info: info:     /|| \ 
info: info:     ,' |' \ 
info: info:     .-'.-==|/_--' 
info: info:     `--'-------' 
info: info: __---___--___---___--___---___--___ 
info: info: ____---___--___---___--___---___--___-__ 
info: info: 

(mit beiden Info-Tags in grün gefärbt) und die Protokolldatei Meldungen aussehen

{"level":"info","message":"\u001b[32minfo: \u001b[39m","timestamp":"2014-07-02T10:51:13.517Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m","timestamp":"2014-07-02T10:51:13.517Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m Sails    <|","timestamp":"2014-07-02T10:51:13.517Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m v0.10.0-rc7   |\\","timestamp":"2014-07-02T10:51:13.517Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m      /|.\\","timestamp":"2014-07-02T10:51:13.517Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m     /|| \\","timestamp":"2014-07-02T10:51:13.517Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m     ,' |' \\","timestamp":"2014-07-02T10:51:13.527Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m    .-'.-==|/_--'","timestamp":"2014-07-02T10:51:13.527Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m    `--'-------' ","timestamp":"2014-07-02T10:51:13.527Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m __---___--___---___--___---___--___","timestamp":"2014-07-02T10:51:13.527Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m ____---___--___---___--___---___--___-__","timestamp":"2014-07-02T10:51:13.527Z"} 
{"level":"info","message":"\u001b[32minfo: \u001b[39m","timestamp":"2014-07-02T10:51:13.527Z"} 

Arbeiten im Produktionsmodus unterdrückt die Präfixe, aber ich immer noch habe einige Farbcodierungen in den Log-Nachrichten.

Hat also jemand eine Idee, wie man die Präfixe und Farbcodierungen in den Protokollnachrichten loswerden kann?

+1

konnte ich mein Ziel erreichen, indem 'Farben ergänzt: false' neben dem' custom: ... 'Eintrag. – user3540839

+0

Fühlen Sie sich frei, Ihre Lösung als Antwort zu posten und als akzeptiert zu markieren, damit andere sie finden können ... – sgress454

Antwort

13

konnte ich mein Ziel colors: false durch Zugabe erreichen:

var winston = require('winston'); 
module.exports = { 
    'log': { 
     'colors': false, 
     'custom': new (winston.Logger)({ 
      'transports': [ 
       new (winston.transports.Console)({ 
        'level': 'info', 
        'colorize': true, 
        'timestamp': false, 
        'json': false 
       }), 
       new winston.transports.File({ 
        'level': 'debug', 
        'colorize': false, 
        'timestamp': true, 
        'json': true, 
        'filename': './logs/test.log', 
        'maxsize': 5120000, 
        'maxFiles': 3 
       }) 
      ] 
     }) 
    } 
}; 
Verwandte Themen