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?
konnte ich mein Ziel erreichen, indem 'Farben ergänzt: false' neben dem' custom: ... 'Eintrag. – user3540839
Fühlen Sie sich frei, Ihre Lösung als Antwort zu posten und als akzeptiert zu markieren, damit andere sie finden können ... – sgress454