Dies sollte eine triviale Frage sein, aber ich denke nicht, um mich zu kümmern. Gibt es eine einfache Möglichkeit, alle meine console.log
Ausgabe in eine Datei umzuleiten? console.log
formatiert die bereitgestellten Objekte auf eine nette Weise und interagiert ordnungsgemäß mit Objekten, die keine trivialen JSONable-Objekte sind.Redirect console.log Ausgabe in Datei
Zum Beispiel, wenn ich
var myerr = new Error('There has been an error');
console.log(myerr);
I
[Error: There has been an error.]
erhalten Während, wenn ich nur
process.stdout.write(JSON.stringify(myerr));
tun
ich
{}
Und wenn ich
process.stdout.write(myerr.toString());
ich
Error: There has been an error
Also, wenn ich meine console.log
mit einer Funktion außer Kraft setzen, die oben mit einem der Tricks auf ihre Argumente Schleifen und leitet die Ausgabe in eine Datei die Protokoll wird nicht genau gleich sein.
Also frage ich mich: Was macht console.log
tun, um die Objekte zu verarbeiten, die es zur Verfügung gestellt wird, bevor sie an die Konsole ausgegeben werden? Es ruft nur .toString()
auf jedes Objekt, wickelt Dinge mit []
und sendet alles an process.stdout.write
? Oder macht es eine andere Art von Vorverarbeitung?
Dies ist der komplette Code des Knotens/console.js auf [github] [1] [1]: https://github.com/nodejs/node/blob/master /lib/console.js – nicandris