Wie anfügen einer Neuen Zeile in Node.js
Ich versuche, fügen Sie die Daten in eine Log-Datei mit Node.js und das ist in Ordnung, aber es wird nicht in die nächste Zeile. \n
scheint nicht zu funktionieren, in meiner Funktion unten. Irgendwelche Vorschläge?
function processInput ( text )
{
fs.open('H://log.txt', 'a', 666, function( e, id ) {
fs.write( id, text + "\n", null, 'utf8', function(){
fs.close(id, function(){
console.log('file is updated');
});
});
});
}
- Sind Sie auf Windows/mit einem Windows-basierten text-editor, um Ihre Datei und benötigen daher eine CRLF-paar,
\r\n
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es aussieht, läuft das auf Windows (angesichts Ihrer
H://log.txt
Datei-Pfad).Versuchen Sie es mit
\r\n
statt nur\n
.Ehrlich
\n
ist in Ordnung; du hast wahrscheinlich die Anzeige der log-Datei in Editor oder etwas anderes, das nicht Rendern nicht-Windows-Zeilenumbrüche. Versuchen Sie, öffnen Sie es in einem anderen viewer/editor (z.B. Wordpad).Verwenden Sie die os.EOL-Konstante statt.
os.EOL
Sie haben einige Zeilen, endend mit/r/n
(aus der Zeit, die app wurde auf windows läuft) und dann haben Sie Zeilen endet nur mit/n
(wenn die app läuft auf linux). Dies hat das Potenzial, um einige Probleme vor allem, wenn Sie keine automatische Parsen von log-Dateien ist vorhanden. Habe ich beschlossen, nur verwenden/n
.fs.write
mitos.EOL
in eine binäre. Ich verwendetpkg
zu generieren, eine binary für Windows. Bei der Ausführung der zuletzt geschriebenen Datensatz eine neue Zeile angehängt, um es (wie erwartet), aber, scheint, wie von anderen Windows-Anwendungen zu behandeln, es ist ein neuer Rekord. Ich bin der Jagd für ein work-around.